UVA 532 - Dungeon Master
来源:互联网 发布:域名快速备案多少钱 编辑:程序博客网 时间:2024/05/16 09:20
还是比着葫芦画瓢,按照UVA439的思路,只是把二维的数组改成三维的,因为对u的计算马虎了,、wa了6,7次,,55555555,太马虎了。
#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;int dist[35][35][35],vis[35][35][35],q[50003],m,r,c;int dx[]= {1,-1,0,0,0,0};int dy[]= {0,0,1,-1,0,0};int dz[]= {0,0,0,0,1,-1};int x1,y1,z1,x2,y2,z2;char maze[35][35][35];void bfs(int x,int y,int z){ int front=0,rear=0,d,u; u=z*(r*c)+y*c+x; vis[z][y][x]=1; dist[z][y][x]=0; q[rear++]=u; while(front<rear) { u=q[front++]; z=u/(r*c); y=(u-(r*c)*z)/c; x=(u-(r*c)*z)%c; for(d=0; d<6; d++) { int nx=x+dx[d],ny=y+dy[d],nz=z+dz[d]; if(nx>=0&&nx<c&&ny>=0&&ny<r&&nz>=0&&nz<m&&!vis[nz][ny][nx]&&maze[nz][ny][nx]!='#') { int v=nz*(r*c)+ny*c+nx; q[rear++]=v; vis[nz][ny][nx]=1; dist[nz][ny][nx]=dist[z][y][x]+1; if(nx==x2&&ny==y2&&nz==z2) return ; } } }}int main(){ while(scanf("%d%d%d",&m,&r,&c)&&(m||r||c)) { memset(dist,0,sizeof(dist)); memset(vis,0,sizeof(vis)); getchar(); for(int i=0; i<m; i++) { for(int j=0; j<r; j++) { for(int k=0; k<c; k++) { scanf("%c",&maze[i][j][k]); if(maze[i][j][k]=='S') { x1=k; y1=j; z1=i; } else if(maze[i][j][k]=='E') { x2=k; y2=j; z2=i; } } getchar(); } getchar(); } bfs(x1,y1,z1); /* for(int i=0;i<m;i++) { for(int j=0;j<r;j++) { for(int k=0;k<c;k++) printf("%d ",dist[i][j][k]); putchar('\n'); } }*/ if(vis[z2][y2][x2]==1) printf("Escaped in %d minute(s).\n",dist[z2][y2][x2]); if(vis[z2][y2][x2]==0) printf("Trapped!\n"); } return 0;}
- uva 532 - Dungeon Master
- uva 532 - Dungeon Master
- uva 532 - Dungeon Master
- uva 532 - Dungeon Master
- uva-532 - Dungeon Master
- UVa 532 - Dungeon Master
- UVa 532 - Dungeon Master
- UVA 532 - Dungeon Master
- UVA 532 - Dungeon Master
- UVA 532 - Dungeon Master
- UVa 532Dungeon Master
- uva 532 - Dungeon Master
- UVA 532 Dungeon Master
- uva 532 - Dungeon Master
- uva 532 Dungeon Master
- UVa 532 - Dungeon Master
- UVA 532 Dungeon Master
- UVA 532 - Dungeon Master
- 利用struts2进行文件下载
- django入门笔记3- URL关键用法
- i2c驱动(三)--- 用字符设备方式访问i2c设备
- 鼠标滑过屏幕
- 用例建模指南
- UVA 532 - Dungeon Master
- C++ const函数返回值必须为const引用
- keil4 warning C316:unterminated conditionals
- Simple-Spring-Memcached使用Protobuf序列化Java对象
- 用debug写汇编
- word文本转换为表格 ,如果文本是以硬回车的转换方式
- Josephus 约瑟夫问题
- Android ProgressDialog
- java中堆栈和内存分配