2010年山东省第一届ACM大学生程序设计竞赛——Balloons
来源:互联网 发布:sql注入绕过安全狗asp 编辑:程序博客网 时间:2024/05/16 00:44
DFS水题。打选拔赛时的一个题,当时还没有开数据结构,所以没做上,今天看了看真是不难,AC掉了,也算是正式开图题的一个吧~~~
代码如下:
#include<iostream>#include<cstring>#include<cstdlib>#include<cstdio>#include<cmath>#include<string>using namespace std;char a[100+2][100+2];int flag_s[100+2][100+2],flag_k[100+2][100+2];int DFS_S(int x,int y){ if(!(a[x][y]-'0')||flag_s[x][y]) return 1; flag_s[x][y]=1; DFS_S(x-1,y); DFS_S(x,y-1); DFS_S(x+1,y); DFS_S(x,y+1);}int DFS_K(int x,int y){ if(!(a[x][y]-'0')||flag_k[x][y]) return 1; flag_k[x][y]=1; DFS_K(x-1,y); DFS_K(x,y-1); DFS_K(x+1,y); DFS_K(x,y+1); DFS_K(x-1,y-1); DFS_K(x+1,y-1); DFS_K(x+1,y+1); DFS_K(x-1,y+1);}int main(){#ifdef test freopen("sample.txt","r",stdin);#endif int count_s,count_k,n,num=1; while(scanf("%d",&n)!=EOF) { memset(a,'0',sizeof(a)); memset(flag_s,0,sizeof(flag_s)); memset(flag_k,0,sizeof(flag_k)); if(!n) break; for(int i=1; i<=n; i++) { getchar(); for(int j=1; j<=n; j++) scanf("%c",&a[i][j]); } count_s=count_k=0; for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) { if(a[i][j]-'0'&&!flag_s[i][j]&&DFS_S(i,j)) count_s++; if(a[i][j]-'0'&&!flag_k[i][j]&&DFS_K(i,j)) count_k++; } printf("Case %d: %d %d\n\n",num++,count_s,count_k); } return 0;}
- 2010年山东省第一届ACM大学生程序设计竞赛:Balloons
- 2010年山东省第一届ACM大学生程序设计竞赛——Balloons
- [2010山东省第一届ACM大学生程序设计竞赛]——Balloons
- 山东省第一届ACM大学生程序设计竞赛 Balloons bfs搜索
- 山东省第一届ACM大学生程序设计竞赛-Balloons(搜索)
- SDUT 2152 Balloons(DFS 四面+八面) 2010年山东省第一届ACM大学生程序设计竞赛
- 2010年山东省第一届ACM大学生程序设计竞赛:shopping
- 2010年山东省第一届ACM大学生程序设计竞赛——Clockwise
- 2010年山东省第一届ACM大学生程序设计竞赛——Emergency
- 2010年山东省第一届ACM大学生程序设计竞赛——Fairy tale
- 2010年山东省第一届ACM大学生程序设计竞赛——Greatest Number
- 2010年山东省第一届ACM大学生程序设计竞赛——Ivan comes again!
- 2010年山东省第一届ACM大学生程序设计竞赛——Ivan comes again!
- 2010年山东省第一届ACM大学生程序设计竞赛——Shopping
- [2010山东省第一届ACM大学生程序设计竞赛]——Phone Number
- [2010山东省第一届ACM大学生程序设计竞赛]——Shopping
- [2010山东省第一届ACM大学生程序设计竞赛]——Hello World!
- [2010山东省第一届ACM大学生程序设计竞赛]——Fairy tale
- javascrpt的this与$(this)
- 查找今天改过的文件及其它 (linux find)
- 有关likely和unlikely
- 入门知识
- Android 自定义progressDialog实现
- 2010年山东省第一届ACM大学生程序设计竞赛——Balloons
- bat中获取昨天日期
- zoj 3623 Battle Ships(dp)
- Proguard android代码混淆 防止反编译
- UVa 572 - Oil Deposits
- kernel移植体系总结
- 浅谈log4net
- POJ 1273 Drainage Ditches
- oracle查询效率积累