题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2007

最后一定是起点周围一片0,终点周围一片1;

所以建出图来跑最短路即可。

代码如下:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
int const xn=,xm=8e6+;
int n,hd[xn],ct,to[xm],nxt[xm],w[xm],dis[xn];
bool vis[xn];
struct N{
int id,d;
N(int x=,int d=):id(x),d(d) {}
bool operator < (const N &y) const
{return d>y.d;}
};
priority_queue<N>q;
int rd()
{
int ret=,f=; char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=; ch=getchar();}
while(ch>=''&&ch<='')ret=ret*+ch-'',ch=getchar();
return f?ret:-ret;
}
void add(int x,int y,int z){to[++ct]=y; nxt[ct]=hd[x]; hd[x]=ct; w[ct]=z;}
int id(int x,int y)
{
if(x<||y>n)return n*n+;
if(x>n||y<)return ;
return (x-)*n+y;
}
void dij()
{
memset(dis,0x3f,sizeof dis);
dis[]=; q.push(N(,));
while(q.size())
{
int x=q.top().id; q.pop();
if(vis[x])continue; vis[x]=;
for(int i=hd[x],u;i;i=nxt[i])
if(dis[u=to[i]]>dis[x]+w[i])
{
dis[u]=dis[x]+w[i];
q.push(N(u,dis[u]));
}
}
}
int main()
{
n=rd();
for(int i=;i<=n+;i++)
for(int j=,x;j<=n;j++)
x=rd(),add(id(i,j),id(i-,j),x);
for(int i=;i<=n;i++)
for(int j=,x;j<=n+;j++)
x=rd(),add(id(i,j-),id(i,j),x);
for(int i=;i<=n+;i++)
for(int j=,x;j<=n;j++)
x=rd(),add(id(i-,j),id(i,j),x);
for(int i=;i<=n;i++)
for(int j=,x;j<=n+;j++)
x=rd(),add(id(i,j),id(i,j-),x);
dij();
printf("%d\n",dis[n*n+]);
return ;
}

最新文章

  1. ---Shell的数组遍历
  2. 操作系统笔记系列 一 Linux
  3. iOS异步下载下载进度条显示
  4. IOS开发中NSRunloop跟NSTimer的问题
  5. 【原创】CHROME 最小字体限制为12PX的终极解决方案
  6. 线程间操作无效: 从不是创建控件&ldquo;textBox2&rdquo;的线程访问它
  7. C程序设计语言练习题1-9
  8. DataSet与DataAdapter的关系
  9. 服务器是R710常见错误汇总:
  10. ubuntu 更新引导命令
  11. Python自动化--语言基础4--模块、文件读写、异常
  12. web 参考网址
  13. 部署testlink报错,安装wampserver时提示丢失MSVCR110.dll
  14. TortoiseGit的ssh key和Git的ssh key
  15. PHP 练习(新闻发布)
  16. rabbitmq 启动报错 Failed to get nic info
  17. Python中if-else的多种写法
  18. 网页登入验证码的实现(java&amp;html)
  19. Docker学习要点记录
  20. c# 解析百度图片搜索结果json中objURL图片原始地址

热门文章

  1. 九度OJ 1345:XXX定律之画X (递归)
  2. 3.二级接口HierarchicalBeanFactory
  3. 洛谷 P2486 [SDOI2011]染色
  4. 【转载】解决Apache2+PHP上传文件大小限制的问题
  5. IImage--factory
  6. HDU - 2709 Sumsets 【递推】
  7. 经典c语言题
  8. 左侧图片 右侧块的实现方法---解决3像素bug的一种解决方案,不用浮动用绝对定位和margin-left
  9. js 数组的所有操作
  10. 2014暑假ACM13级一批集训内容