题意:

思路:

写了两种版本

考场版本

 var dp:array[..,..]of longint;
t:array[..,..]of longint;
n,m,i,j,k,oo,ans,d1:longint; function min(x,y:int64):int64;
begin
if x<y then exit(x);
exit(y);
end; begin
assign(input,'room.in'); reset(input);
assign(output,'room.out'); rewrite(output);
readln(n,m,d1);
oo:=maxlongint>>;
for i:= to n do
for j:= to m do read(t[i,j]); for i:= to n do
begin
for j:= to m do
for k:= to m do
if j<>k then dp[j,k]:=dp[j,k]+t[i-,j]+t[i-,k]
else dp[j,k]:=oo; for j:= to m do
for k:= to m do dp[j,k]:=min(dp[j,k],dp[j-,k]+d1); for j:=m- downto do
for k:= to m do dp[j,k]:=min(dp[j,k],dp[j+,k]+d1); for j:= to m do
for k:= to m do dp[j,k]:=min(dp[j,k],dp[j,k-]+d1); for j:= to m do
for k:=m- downto do dp[j,k]:=min(dp[j,k],dp[j,k+]+d1);
end;
ans:=oo;
for i:= to m do
for j:= to m do
if i<>j then ans:=min(ans,dp[i,j]+t[n,i]+t[n,j]);
writeln(ans);
{for i:=1 to n do
for j:=1 to m do
for k:=1 to m do writeln(i,' ',j,' ',k,' ',dp[i,j,k]+t[i,j]+t[i,k]);}
close(input);
close(output);
end.

赛后自测版本

 var dp:array[..,..,..]of longint;
t:array[..,..]of longint;
n,m,d1,i,j,k,ans:longint; function min(x,y:longint):longint;
begin
if x<y then exit(x);
exit(y);
end; begin
assign(input,'room.in'); reset(input);
assign(output,'room.out'); rewrite(output);
readln(n,m,d1); for i:= to n do
for j:= to m do read(t[i,j]); for i:= to n do
begin
for j:= to m do
for k:= to m do
if j<>k then dp[i,j,k]:=dp[i-,j,k]+t[i,j]+t[i,k]
else dp[i,j,k]:=maxlongint>>; for j:= to m do
for k:= to m do
if (j<>k)and(j-<>k) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j-,k]+d1); for j:=m- downto do
for k:= to m do
if (j<>k)and(j+<>k) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j+,k]+d1); for j:= to m do
for k:= to m do
if (j<>k)and(k-<>j) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j,k-]+d1); for j:= to m do
for k:=m- downto do
if (j<>k)and(k+<>j) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j,k+]+d1);
end; ans:=maxlongint;
for i:= to m do
for j:= to m do
if i<>j then ans:=min(ans,dp[n,i,j]);
writeln(ans); close(input);
close(output);
end.

最新文章

  1. 3小时搞定一个简单的MIS系统案例Northwind,有视频、有源代码下载、有真相
  2. SQLServer基本查询
  3. 正在使用MJRefresh &amp; MJExtension的App
  4. 【转】${sessionScope.user}的使用方法
  5. 在Asp.net MVC中访问静态页面
  6. CodeForces 455C Civilization (并查集+树的直径)
  7. message 匹配不上grok正则 也会写入到elasticsearch
  8. Nginx的10万并发内核参数优化
  9. 02 Learning to Answer Yes/No
  10. NV12格式转RGB的CUDA实现
  11. CF#418 Div2 D. An overnight dance in discotheque
  12. wstngfw openVpn站点到站点连接示例(SSL/TLS)
  13. C#以太坊基础入门
  14. 高效办公必不可少的5个Excel技巧
  15. python Django rest-framework 创建序列化工程步骤
  16. 2014.8.23 Research Meeting Report
  17. 新版.Net开发必备十大工具(转)
  18. 基于 Laravel 开发博客应用系列 —— 从测试开始(二):使用Gulp实现自动化测试
  19. javaweb(二十四)——jsp传统标签开发
  20. DAY5敏捷冲刺

热门文章

  1. jQuery相关知识总结
  2. WPF学习08:MVVM 预备知识之COMMAND
  3. @ComponentScan、@EnableFeignClients和@MapperScan注解笔记
  4. 前端缓存-IndexedDB
  5. Android学习笔记(六) Activity和View基础
  6. 使用Jenkins进行android项目的自动构建(4)
  7. sql server 2008 r2 无法定位到数据库文件目录
  8. 【经验分享】IMX6开发板编译问题及解决方法
  9. 17Web服务器端控件
  10. wpf Command 携带当前窗口