Lake Counting POJ
来源:互联网 发布:法兰克福和慕尼黑 知乎 编辑:程序博客网 时间:2024/06/05 07:26
#include<iostream>//深度优先进行遍历#include<stdio.h>using namespace std;char t[105][105];int n,m;void dfs(int x,int y){ t[x][y]='.'; int nx,ny; for(int dx=-1;dx<=1;dx++) { for(int dy=-1;dy<=1;dy++) { nx=dx+x; ny=dy+y; if(0<=nx&&nx<n&&0<=ny&&ny<m&&t[nx][ny]=='W') { dfs(nx,ny); } } }}int main(){ char c; int num=0; scanf("%d%d%c",&n,&m,&c); for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%c",&t[i][j]); } scanf("%c",&c); } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(t[i][j]=='W') { dfs(i,j); num++; } } } printf("%d\n",num); return 0;}W........WW.
.WWW.....WWW
....WW...WW.
.........WW.
.........W..
..W......W..
.W.W.....WW.
W.W.W.....W.
.W.W......W.
..W.......W.
//这个是10*12的测试数据
#include<iostream>//广度优先进行遍历using namespace std;#include<stdio.h>#include<queue>typedef pair<int ,int> P;//第一个叫做first,第二个叫做secondqueue<P> que;char Map[20][20];int N,M;int bfs(int x,int y){ Map[x][y]='.'; que.push(P(x,y)); while(que.size()) { P p=que.front();//这个是他的第一个 que.pop(); for(int dx=-1;dx<=1;dx++) { for(int dy=-1;dy<=1;dy++) { int nx=p.first+dx; int ny=p.second+dy; if(0<nx&&nx<=N&&0<ny&&ny<=M&&Map[nx][ny]=='W') { Map[nx][ny]='.'; que.push(P(nx,ny));//把这个点压进去 } } } }}int main(){ int sum=0; char cx; scanf("%d%d%c",&N,&M,&cx); for(int i=1;i<=N;i++)//输入地图信息 { for(int j=1;j<=M;j++) { scanf("%c",&Map[i][j]); } scanf("%c",&cx); } for(int i=1;i<=N;i++) { for(int j=1;j<=M;j++) { if(Map[i][j]=='W') { sum++; bfs(i,j);//这个就是对其进行遍历 } } } printf("%d\n",sum); return 0;}
阅读全文
0 0
- poj 2386 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- poj 2386 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- Poj 2358 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- POJ - Lake Counting(DFS)
- POJ 2386 Lake Counting
- POJ 2386 Lake Counting
- POJ-2386-Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- javascript 4-5章1
- mysql开放远程访问,授权用户数据库权限
- tomcat
- 由Monkey引发的测试工具方面的想法
- Java如何实现文件拷贝操作和如何正确关闭资源
- Lake Counting POJ
- VSCode开发C#(调用 Net Core)精简步骤说明
- webview记录滚动位置,下次打开滚动到记录点
- Android登录判断,并且在登录后跳转到相应的Activity
- Netty实现服务端客户端长连接通讯、心跳检测及自定义报文发送(一)
- u-boot命令-cmd编译过程
- laravel中Validator使用中出现的问题
- url 字符串截取
- 带有上拉/下拉的RecyclerView扩展组件