2 条题解
-
-5
#include<bits/stdc++.h> using namespace std; char a[10001][10001]; int n,sum,maxx=-9999,m,zf[4][2]={{1,0},{0,1},{0,-1},{-1,0}}; int h=1,t=1; struct que{ int x; int y; }; struct que dl[10000000]; void bfs(int x,int y,char e){ sum=1; dl[t].x=x; dl[t].y=y; t++; while(h<t){ for(int i=0;i<4;i++){ int tx=dl[h].x+zf[i][0],ty=dl[h].y+zf[i][1]; if(tx<0||tx>n||ty<0||ty>m)continue; if(a[tx][ty]==e){ a[tx][ty]='0'; dl[t].x=tx; dl[t].y=ty; t++; sum++; } } h++; } if(sum>maxx)maxx=sum; } int main(){ cin>>n>>m; for(int i=0;i<=n;i++){ gets(a[i]); } for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ if(a[i][j]>'0'){ char o=a[i][j]; a[i][j]='0'; bfs(i,j,o); sum++; } } } cout<<maxx; return 0; }
信息
- ID
- 377
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 7
- 标签
- 递交数
- 202
- 已通过
- 45
- 上传者