标签:style blog class code c ext
2 3 4 1 0 0 0 0 0 1 1 1 1 1 0 5 5 1 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1
2 3
思路:简单的深搜
AC代码:
#include<iostream> #include<string.h> using namespace std; int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int a[100][100],vis[100][100],m,n; void dfs(int i,int j) { a[i][j]=0; int k,x,y; for(int k=0;k<4;k++) { x= i + dir[k][0]; y = j + dir[k][1]; if (x>=0 &&x<m && y>=0 && y<n && a[x][y] && !vis[x][y]) { dfs(x,y); vis[x][y]=1; } } } int main() { int N,i,j,sum; cin>>N; while(N--) { sum=0; memset(a,0,sizeof(a)); memset(vis,0,sizeof(vis)); cin>>m>>n; for(i=0;i<m;i++) for(j=0;j<n;j++) cin>>a[i][j]; for(i=0;i<m;i++) for(j=0;j<n;j++) { if(a[i][j]==1&&vis[i][j]==0) { sum++; dfs(i,j); vis[i][j]=1; } } cout<<sum<<endl; } // system("pause"); return 0; }
标签:style blog class code c ext
原文地址:http://blog.csdn.net/an327104/article/details/26087127