HUD 1026 纯C代码广搜
来源:互联网 发布:宝信软件 600845 编辑:程序博客网 时间:2024/06/05 21:01
网上找的大多是用C++,不会C++也不知道<queque>头文件的话,有些解题报告看不懂。
#include<stdio.h> int m,n,t = 0,ft[105][105],dp[105][105],q[101*101*20][2];char a[105][105];int dir[4][2]= {{0,-1},{0,1},{1,0},{-1,0}};void bfs(){int x,y,xx,yy,parent,front = 0,rear = 1,tt,i;q[0][0] = q[0][1] = 0; dp[0][0] = 0;while(front != rear){x = q[front][0]; y = q[front][1];parent = front; front++;for(i = 0; i < 4; i++){xx = x + dir[i][0]; yy = y + dir[i][1];if(xx < 0 || xx >= n || yy < 0 || yy >= m) continue;if(a[xx][yy] == 'X') continue;tt = dp[x][y] + 1;if(a[xx][yy] != '.') tt += a[xx][yy] - '0';if(dp[xx][yy] != -1 && dp[xx][yy] <= tt) continue;//此处需注意,一旦 <= 变成 < 就会爆时间dp[xx][yy] = tt;ft[xx][yy] = parent;q[rear][0] = xx; q[rear][1] = yy;rear++;}}}void show(int x,int y){int i,_=ft[x][y];if(ft[x][y] == -1) return;show(q[_][0],q[_][1]);t++;printf("%ds:(%d,%d)->(%d,%d)\n",t,q[_][0],q[_][1],x,y);if(a[x][y] != '.'){for(i = 0; i < a[x][y] - '0'; i++){printf("%ds:FIGHT AT (%d,%d)\n",++t,x,y);}}}int main(){int i,j;while(~scanf("%d%d",&n,&m)){t = 0;getchar();memset(ft,-1,sizeof(ft));memset(dp,-1,sizeof(dp));for(i = 0; i < n; i++){gets(a[i]);}bfs();if(dp[n - 1][m - 1] == -1) printf("God please help our poor hero.\nFINISH\n");else{printf("It takes %d seconds to reach the target position, let me show you the way.\n",dp[n - 1][m - 1]);show(n - 1, m - 1);printf("FINISH\n");}}return 0;}
1 0
- HUD 1026 纯C代码广搜
- 双向广搜 代码框架
- 八数码广搜代码
- Plist文件、HUD、字典转模型、纯代码封装View、XIB封装View
- 堆排序 纯C代码
- 贪吃蛇纯c代码
- poj3984广搜c语言
- poj1979广搜c语言
- hdu 1026 广搜
- 纯C代码实现重定位
- 配置文件的读取,纯C代码
- 纯C代码写BMP文件
- 在android下编译纯C代码
- Android_10_Java调用C代码(纯手工制作)
- objective-c自动布局纯代码写法
- 杭电1710(纯C代码)
- codeforces-C. Journey(广搜+记录路径)
- Codeforces-540C 广搜BFS
- js中的hasOwnProperty和isPrototypeOf方法
- 64位JAVA环境配置
- UiObject官方文档,个人翻译
- 第十周项目1—二叉树的链式存储及基本运算
- 第九周项目3—稀疏矩阵的三元组表示的实现及应用(2)
- HUD 1026 纯C代码广搜
- 稀疏矩阵的三元组表示的实现(3.1)
- POJ 题目1505 Copying Books(DP,打印路径)
- mysqldump使用方法
- android 全局获取Context的技巧 《第一行代码》
- 数据库结构初探--引言
- 第十周-项目3 - 利用二叉树遍历思想解决问题
- ZooKeeper典型应用场景一览
- (三):Winelib用户手册2