HDU 2952 Counting Sheep(bfs)
2016-02-13 17:25
393 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2952
代码:
代码:
#include<stdio.h> #include<string.h> #include<queue> using namespace std; char maps[105][105]; int fx[4]={1,0,-1,0}; int fy[4]={0,-1,0,1}; int dis[105][105]; int a,b; struct node { int x,y; }point[105]; bool judge(int x,int y) { if(x>=0&&x<a&&y>=0&&y<b&&maps[x][y]=='#') return true; return false; } int bfs(int xx,int yy) { queue<node>q; node star,en; star.x=xx; star.y=yy; q.push(star); dis[xx][yy]=1; while(!q.empty()) { en=q.front(); q.pop(); for(int i=0;i<4;i++) { int dx,dy; dx=en.x+fx[i]; dy=en.y+fy[i]; if(judge(dx,dy)&&dis[dx][dy]==0) { star.x=dx; star.y=dy; q.push(star); dis[dx][dy]=dis[en.x][en.y]+1; } } } return 0; } int main() { int t; scanf("%d",&t); while(t--) { scanf("%d%d",&a,&b); for(int i=0;i<a;i++) { scanf("%s",maps[i]); } int ans=0; memset(dis,0,sizeof(dis)); for(int i=0;i<a;i++) { for(int j=0;j<b;j++) { if(maps[i][j]=='#'&&dis[i][j]==0) { bfs(i,j); ans++; } } } printf("%d\n",ans); } }
相关文章推荐
- 1.流程图
- 越狱Season 1-Episode 17: J-Cat
- Codeforces Round #287 (Div. 2) E. Breaking Good(最短路、dp)
- 238. Product of Array Except Self LeetCode
- 刷题、OJ 1912 亲和数
- POJ1004 1003 1002 1005 1006 1007 1001刷题
- 越狱Season 1- Episode 16
- 14. Longest Common Prefix
- 匈牙利算法
- 越狱Season 1-Episode 15: By the Skin and the Teeth
- iOS中单例的线程安全
- Machine Learning - Linear Regression with One Variable
- Python教程学习简记10--Python 匿名函数
- JVM栈溢出
- 第一篇CSDN博客
- CSS的层叠和继承
- 越狱Season 1-Episode 14: The Rat
- BZOJ 4337: BJOI2015 树的同构|Hash
- Android Studio酷炫插件(一)——自动化快速实现Parcelable接口序列化
- leetcode70题 题解 翻译 C语言版 Python版