首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

水池数额 简单搜索

2013-01-28 
水池数目简单搜索水池数目#includecstdiousing namespace stdint map[1001][1001]int visit[1001][100

水池数目 简单搜索
水池数目#include<cstdio>using namespace std;int map[1001][1001];int visit[1001][1001];int dir[4][2]= {{1,0},{-1,0},{0,-1},{0,1}};int a,b;void BFS(int aa,int bb){ map[aa][bb]=0; for(int k=0; k<4; k++) { int i=aa+dir[k][0]; int j=bb+dir[k][1]; if(i>=0&&i<=a&&j>=0&&j<=b&&map[i][j]) DFS(i,j); }}int main(){ int test; while(scanf("%d",&test)!=EOF) { while(test--) { int sum=0; scanf("%d%d",&a,&b); for(int i=0; i<a; i++) { for(int j=0; j<b; j++) { scanf("%d",&map[i][j]); } } for(int i=0; i<a; i++) { for(int j=0; j<b; j++) { if(map[i][j]==1) { sum++; BFS(i,j); } } } printf("%d\n",sum); } } return 0;}

热点排行