zzuoj 10428: 奇怪的梦 (bfs)水
来源:互联网 发布:伦佐皮亚诺 知乎 编辑:程序博客网 时间:2024/06/05 08:53
10428: 奇怪的梦
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 77 Solved: 23
[Submit][Status][Web Board]
Description
spy常常做梦,有一天,他梦到他来到一片沼泽,好怕怕。。
这里为了简化问题,把沼泽看成一个二维矩阵。
spy起始点在S。
要想离开这个沼泽地只能到达E才行。
除了起始点S和离开点E之外还有平地和沼泽地,分别用.和#表示。
平地表示可以走,沼泽地是很危险的,所以不能走。spy每次走只能往上下左右其中一个方向走一步。
然后他希望能够离开这里,所以你能够帮他吗?
Input
多组测试数据。
每一组数据第一行有两个整数n,m(0 < n <= 100, 0 < m <= 100)。接下来是一个n*m的矩阵。'.'表示平地,‘#’表示沼泽,S表示起始位置,E表示终点。
Output
对于每一组数据输出一个“Yes”或者“No”,表示spy能否离开这里。
Sample Input
2 2S#.E3 3S.#.#.#.E
Sample Output
YesNo
HINT
注意这里S有且仅有一个,E可能有0个到多个。
#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>using namespace std;int n,m;int dx[4]={0,0,1,-1};int dy[4]={1,-1,0,0};char a[110][110];int b[110][110];struct zz{int x;int y;}f1,f2;void bfs(int x,int y){queue<zz>q;memset(b,0,sizeof(b));f1.x=x;f1.y=y;b[x][y]=1;q.push(f1);while(!q.empty()){f1=q.front();q.pop();if(a[f1.x][f1.y]=='E'){printf("Yes\n");return ;}for(int i=0;i<4;i++){f2.x=f1.x+dx[i];f2.y=f1.y+dy[i];if(f2.x>=0&&f2.x<n&&f2.y>=0&&f2.y<m&&!b[f2.x][f2.y]&&a[f2.x][f2.y]!='#'){b[f2.x][f2.y]=1;q.push(f2);}}}printf("No\n");}int main(){int i,j;int sx,sy;while(scanf("%d%d",&n,&m)!=EOF){for(i=0;i<n;i++)scanf("%s",a[i]);for(i=0;i<n;i++){for(j=0;j<m;j++){if(a[i][j]=='S'){sx=i;sy=j;}}}bfs(sx,sy);}return 0;}
0 0
- zzuoj 10428: 奇怪的梦 (bfs)水
- 奇怪的电梯 bfs
- HDU1548 A strange lift 奇怪的电梯(BFS+队列)
- zzuoj--10424--无聊的课(简单几何)
- 【BFS】刚才什么奇怪的东西跑过去了...
- 宽搜(BFS)经典&简单题目 - 奇怪的电梯
- 石油大oj 1825奇怪的电梯 bfs
- HDU1548 奇怪的电梯 最短路 spfa bfs
- 【水】1021: Tom数-----ZZUOJ
- 奇怪的梦
- 奇怪的梦
- 奇怪的梦
- 1274 奇怪的梦
- ZZUOJ-1222- 属于ACMer的游戏 猜素数 (某月赛,总结一下素数筛选法)
- ZZUOJ - 1245 - 寻找幸福的小L
- ZZUOJ - 1245 - 寻找幸福的小L
- ZZUOJ-10437: 小d的翻转游戏
- 第八届河南省赛 zzuoj 10411: F.Distribution (模拟)水
- 109_征兵问题 conscription (poj 3723)
- ZigZag Conversion
- iOS 二维码窗口
- 关于新版本iOS(7.1)离线文档的安装
- sql的left join
- zzuoj 10428: 奇怪的梦 (bfs)水
- visual studio开发C#笔记03——多线程总结1
- java的super关键字和this指针
- POJ 1979-Red and Black【基础DFS】
- C语言-动态内存分配
- Java回调机制(异步)
- eclipse启动找不到javaw.exe
- Activity与Service通信
- 贪心算法——n个数连接得到最小或最大的多位整数