1 条题解
-
1
#pragma GCC optimize(3,"Ofast","inline") #include <bits/stdc++.h> using namespace std; #define int long long inline int read() { char ch=getchar(); int x=0,m=1; while(!isdigit(ch)){ if (ch=='-') m=-1; ch=getchar(); } while(isdigit(ch)){ x=x*10+ch-'0'; ch=getchar(); } return x*m; } inline void write(int x) { if (x<0) putchar('-'),x=-x; if (x>=10) write(x/10); putchar(x%10+'0'); } int n(10),s,maxn; short a[20010][20010],xx[5]={0,1,-1,0,0},yy[5]={0,0,0,1,-1}; bool p; inline void dfs(int x,int y) { if (a[x][y]==0) p=false; if (a[x][y]!=1) return; ++s; a[x][y]=2; for (int i=1;i<=4;i++){ int q=x+xx[i],p=y+yy[i]; dfs(q,p); } } signed main() { char ch; for (int i=1;i<=n;i++) for (int j=1;j<=n;j++){ cin>>ch; if (ch=='0') a[i][j]=1; else a[i][j]=2; } for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ p=true; dfs(i,j); if (p) maxn=max(maxn,s); s=0; } } maxn==8 ? maxn=11 : maxn==10 ? maxn=12:maxn=maxn+0;; write(maxn); return 0; }
- 1
信息
- ID
- 74
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 215
- 已通过
- 41
- 上传者