hdu 2822 Dogs
来源:互联网 发布:ubuntu如何安装win10 编辑:程序博客网 时间:2024/05/29 19:04
优先队列bfs,无难度,走x不用花时间,走“.”时间为1;
#include<iostream>#include<queue>#include<cstring>#define maxn 1000+5using namespace std;char mapp[maxn][maxn];int visit[maxn][maxn];int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};int n,m;int sx,sy,ex,ey;struct stu{int x,y;int t;friend bool operator<(stu x,stu y){return x.t>y.t;}};void bfs(){stu x,y;priority_queue<stu>root;x.x=sx;x.y=sy;x.t=0;root.push(x);visit[sx][sy]=1;while(root.size()){x=root.top();root.pop();if(x.x==ex&&x.y==ey){cout<<x.t<<endl;return;}for(int i=0;i<4;i++){y.x=x.x+dir[i][0];y.y=x.y+dir[i][1];if(y.x<0||y.x>=n||y.y<0||y.y>=m||visit[y.x][y.y]){continue;}if(mapp[y.x][y.y]=='X') y.t=x.t;else y.t=x.t+1;root.push(y);visit[y.x][y.y]=1;}} }int main(){while(cin>>n>>m&&n&&m){for(int i=0;i<n;i++) cin>>mapp[i];cin>>sx>>sy>>ex>>ey;sx--;sy--;ex--;ey--;memset(visit,0,sizeof(visit));bfs();}return 0;}
0 0
- hdu 2822 dogs
- hdu 2822 Dogs
- HDU 2822 Dogs
- hdu 2822 Dogs
- hdu 2822 Dogs
- HDU 2822 Dogs
- HDU 2822 Dogs
- hdu 2822 Dogs
- HDU 2822 Dogs
- hdu 2822 Dogs 优先队列
- hdu 2822 Dogs(搜索)
- HDU 2822 Dogs【两次bfs】
- HDU 2822 Dogs【两次bfs】
- hdu 2822 Dogs(优先队列)
- hdu 2822 Dogs(bfs+优先队列)
- hdu 2822 Dogs(BFS + 优先队列)
- hdu 2822 Dogs (优先队列 + BFS)
- hdu 2822 Dogs【优先队列+Bfs】
- hdu4753 状态压缩dp博弈(记忆化搜索写法)
- 插入排序
- Java知识(003)--分支和循环1
- KMP算法
- P122.28.字符串大小写呼唤
- hdu 2822 Dogs
- luabind编译报错 错误: 标识符“(”前缺少二元运算符
- Jenkins+Ant+Android+Robitium 实例详解(打包app,执行Robotium测试,生成测试结果)
- Java复习第二天和第三天
- performSelector引起的警告解决办法
- Socket编程InputStream中的read()方法的问题!!!
- fastboot 烧入 img---fastboot配置(解决fastboot no permissions 错误)
- 预处理,编译, 优化, 汇编, 链接
- 腾讯2015实习生面试(已拿到offer)