HDU 1241 【搜索 水】
2015-09-11 20:51
369 查看
大水。。。
就是挨个搜搜就成。。
就是挨个搜搜就成。。
#include <cstdio> #include <cstring> #include <iostream> using namespace std; #define maxn 110 char a[maxn][maxn]; int vis[maxn][maxn]; int n,m; int cmpx[8]={0,0,1,-1,1,-1,1,-1}; int cmpy[8]={1,-1,0,0,1,-1,-1,1}; bool check(int x,int y) { if(x<0||x>=n||y<0||y>=m) return false; if(a[x][y]=='*'||vis[x][y]) return false; return true; } void search(int x,int y) { vis[x][y]=1; for(int i=0;i<8;i++) { int tx=x+cmpx[i],ty=y+cmpy[i]; if(!check(tx,ty)) continue; search(tx,ty); } } int main() { while(cin>>n>>m&&n&&m) { memset(vis,0,sizeof(vis)); for(int i=0;i<n;i++) cin>>a[i]; int flag=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(a[i][j]=='*') continue; if(a[i][j]=='@'&&!vis[i][j]) { search(i,j); flag++; } } } cout<<flag<<endl; } return 0; }
相关文章推荐
- Java心得31
- 屏幕适配——Drawable 资源
- 你所不知道的__ block 内幕
- IOS视图之UI基础
- navigationBar设置透明
- leetcode - Jump Game II
- proc-pid-mem
- 序列化二叉树
- R数组操作:截取大于x的所有数值
- linux 查找出包含某个字符串的所有文件的方法详解
- uva 10972 - RevolC FaeLoN(双联通)
- C/C++
- linux中压缩与解压缩大全 - linux中各种文件格式的解压缩
- POJ 1157 LITTLE SHOP OF FLOWERS (数塔_dp)
- HashSet 详解
- decision tree+percolation(笔记)+javaio
- UVa 225:Golygons(DFS)
- SDUT2937---人活着系列之寻找最完美的人生
- Linux中修改mysql的默认编码
- java.util.concurrent并发包诸类概览