sgu——344(宽搜)
2012-08-20 13:26
274 查看
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=344
//具有反复搜索性
源代码:
//具有反复搜索性
源代码:
#include<iostream> using namespace std; //short int flag[1005][1005]; char a[1005][1005]; int X[4]={1,0,0,-1}; int Y[4]={0,1,-1,0}; int m,n; void bfs(int x,int y) { int k,t; int xx,yy; int dx,dy; int count=0; for(k=0;k<4;k++) { xx=x+X[k]; yy=y+Y[k]; if(xx<0||yy<0||xx>=m||yy>=n) continue; if(a[xx][yy]=='X') count++; if(count==2) break; } if(count==2) { a[x][y]='X'; for(k=0;k<4;k++) { dx=x+X[k]; dy=y+Y[k]; if(dx<0||dy<0||dx>=m||dy>=n) continue; if(a[dx][dy]=='.') bfs(dx,dy); } } //return ; } int main() { int i,j; int num; while(cin>>m>>n) { num=0; for(i=0;i<m;i++) cin>>a[i]; for(i=0;i<m;i++) for(j=0;j<n;j++) { if(a[i][j]!='X') bfs(i,j); } for(i=0;i<m;i++) for(j=0;j<n;j++) { if(a[i][j]=='X') num++; } cout<<num<<endl; } }
相关文章推荐
- (sgu-344)Weed
- Leetcode:344. Reverse String
- LeetCode 344. Reverse String(字符串翻转)
- SGU 199 Beautiful People 二维最长递增子序列
- LeetCode 344. Reverse String
- SGU 106 The equation(扩展欧几里德)
- leetcode 344 Reverse String
- [leetcode]344. Reverse String
- BZOJ3911: SGU383 Caravans
- SGU 114 三分 类似于 HDU 4355(4355 同样也是一个三分的题目)
- SGU102 欧拉函数 傻逼题
- LeetCode344:Reverse String@Python
- 344. Reverse String
- Sgu 101 欧拉通路
- leetcode-344. Reverse String 字符串翻转,切片的用法
- 344. Reverse String (转置字符串)
- Leetcode 344 Reverse String
- leetcode 344 python
- 离线 + 位优化 - SGU 108 Self-numbers 2
- 344. Reverse String 自己的方法略显麻烦= =