hdu1728
来源:互联网 发布:java获取浏览器地址 编辑:程序博客网 时间:2024/06/03 18:52
bfs遍历:
#include<stdio.h>#include<queue>using namespace std;const int N = 102;struct p {int x, y;int tnum;}; int dir[4][2] ={{-1,0} ,{1,0} ,{0 ,-1} , {0 ,1}};int m, n;int sx ,sy ,ex,ey;int k = 0;char map[N][N];bool bfs() {queue<p> s;p p1;p1.x = sx; p1.y = sy;p1.tnum = -1;s.push(p1);while(s.size()) {p temp;temp = s.front(); s.pop();if (temp.tnum >= k) continue;for(int i = 0; i < 4; ++i) {int nx = temp.x + dir[i][0];intny = temp.y + dir[i][1];p1.tnum = temp.tnum + 1;while(1) {if (nx == ex && ny == ey) return true;if (nx < 0 || nx >= m || ny < 0 || ny >= n || map[nx][ny] == '*') break;p1.x = nx; p1.y = ny;map[temp.x][temp.y] = '*';s.push(p1);nx += dir[i][0]; ny += dir[i][1];} }} return false;} int main() {int t ;scanf("%d", &t);for (int i = 0; i < t; i++) {scanf("%d %d", &m, &n);for (int j = 0; j < m; j++) {getchar();for (int k = 0; k < n; k++) {scanf("%c", &map[j][k]);}}scanf("%d%d%d%d%d", &k, &sy, &sx, &ey, &ex);sx--; sy--;ex--; ey--;if(bfs()) printf("yes\n");else printf("no\n"); } return 0;}
0 0
- hdu1728
- hdu1728
- hdu1728
- hdu1728
- HDU1728 BFS
- BFS hdu1728
- BFS HDU1728
- hdu1728逃离迷宫
- hdu1728 逃离迷宫
- hdu1728 逃离迷宫(bfs)
- hdu1728 逃离迷宫
- HDU1728--逃离迷宫
- hdu1728-逃离迷宫
- HDU1728:逃离迷宫(BFS)
- hdu1728逃离迷宫(bfs)
- hdu1728逃离迷宫
- HDU1728:逃离迷宫(BFS)
- HDU1728 逃离迷宫 BFS
- 阶乘之和
- 函数参数
- 关于学生自主学习
- O2O营销模式
- 全面了解DB2数据库中的各数据类型
- hdu1728
- JQuery中$.ajax()方法参数详解
- eclipse安装ADT插件重启后不显示Android SDK Manager和Android Virtual Device Manager图标的一种解决办法
- 22XML
- QT编程系列5--几个常用组件的使用(下)
- 使用Apache digest可以做md5 SHA1 BASE64加密
- 平凡与非凡的差异仅在于那一点点额外的努力
- work_weipa_打字时界面上移问题
- linux进程优先级设置