1 条题解
-
0
C++ :
#include<bits/stdc++.h> #define N 50 using namespace std; int n,m,a[N][N],ans1,ans2,cnt; int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1}; void dfs(int x,int y){ if(x<1||x>n||y<1||y>m||a[x][y]==0)return; cnt++; for(int i=0;i<4;i++){ a[x][y]=0; int xx=x+dx[i]; int yy=y+dy[i]; dfs(xx,yy); } } int main() { cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]==1){ cnt=0; dfs(i,j); ans1++; ans2=max(ans2,cnt); } } } cout<<ans1<<endl<<ans2; return 0; }
- 1
信息
- ID
- 167
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 2
- 已通过
- 4
- 上传者