[kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master
2015-01-27 17:46
561 查看
#include<iostream> #include<cstdio> #include<string> #include<vector> #include<queue> #include<cstring> using namespace std; struct node { int x; int y; int z; int step; }; char dung[35][35][35]; int d[6][3] = {{0,0,1},{0,0,-1},{0,1,0},{0,-1,0},{1,0,0},{-1,0,0}}; int l, r, c; int main() { // freopen("in.in","r",stdin); char tp[40]; node start, tmp; int ans = 0; queue<node>q; while(cin>>l>>r>>c) { ans = 0; memset(dung,0,sizeof(dung)); if(l*r*c == 0) break; for(int k = 1; k <= l; k++) for(int i = 1; i <= r; i++) { cin>>tp; for(int j = 1; j <= c; j++) { dung[k][i][j] = tp[j-1]; if(tp[j-1]=='S') { start.x = i; start.y = j; start.z = k; start.step = 0; } } } q.push(start); dung[start.z][start.x][start.y] = '#'; while(q.size()) { start = q.front(); q.pop(); for(int i = 0; i < 6; i++) { tmp.x = start.x + d[i][0]; tmp.y = start.y + d[i][1]; tmp.z = start.z + d[i][2]; tmp.step = start.step + 1; if(dung[tmp.z][tmp.x][tmp.y] == 'E') { ans = tmp.step; break; } if(dung[tmp.z][tmp.x][tmp.y]!='.') continue; q.push(tmp); dung[tmp.z][tmp.x][tmp.y] = '#'; } } if(ans) printf("Escaped in %d minute(s).\n",ans); else printf("Trapped!\n"); while(q.size()) q.pop(); } return 0; }
相关文章推荐
- [kuangbin带你飞]专题一 简单搜索->B - Dungeon Master
- [kuangbin带你飞]专题一 简单搜索 B - Dungeon Master(POJ 2251)
- [kuangbin带你飞]专题一 简单搜索 Dungeon Master : BFS
- [kuangbin带你飞]专题一 简单搜索-B - Dungeon Master
- [kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master
- [kuangbin带你飞]专题一 简单搜索D - Fliptile(POJ 3279)
- [kuangbin带你飞]专题一 简单搜索 - E - Find The Multiple
- POJ 3126 Prime Path(kuangbin带你飞 专题一:简单搜索)
- POJ 3984 迷宫问题(kuangbin带你飞 专题一:简单搜索)
- [kuangbin带你飞]专题一 简单搜索F - Prime Path(POJ 3126)
- [kuangbin带你飞]专题一 简单搜索 - C - Catch That Cow
- [kuangbin带你飞]专题1——简单搜索——母牛翻转问题
- [kuangbin带你飞]专题一 简单搜索 - M - 非常可乐
- POJ 3087 Shuffle'm Up(kuangbin带你飞 专题一:简单搜索)专题一完结
- POJ 3279 Fliptile(kuangbin带你飞 专题一:简单搜索)
- [kuangbin带你飞]专题一 简单搜索G - Shuffle'm Up(POJ 3087)
- Fire Game [kuangbin带你飞]专题一 简单搜索
- 【 题集 】 【kuangbin带你飞】专题一 简单搜索 更新 ing ......
- [kuangbin带你飞]专题一 简单搜索K - 迷宫问题(POJ 3984)
- FZU 2150 Fire Game(kuangbin带你飞 专题一:简单搜索)