2 条题解
-
0
就是普通的深搜 (
其实也可以直接输出测试点ing)#include <bits/stdc++.h> using namespace std; char a[110][110]; int n,m,ma,c; int fx[5]={0,0,1,0,-1}; int fy[5]={0,1,0,-1,0}; bool f=false; void dfs(int x,int y,char s){ a[x][y]='0'; int tx,ty; for(int i=1;i<=4;i++){ tx=fx[i]+x; ty=fy[i]+y; if(tx>=1&&tx<=n&&ty>=1&&ty<=n&&a[tx][ty]==s){ c++; dfs(tx,ty,s); } } } 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]!='0'){ dfs(i,j,a[i][j]); ma=max(ma,c); } } } cout<<ma; return 0; }
- 1
信息
- ID
- 380
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 56
- 已通过
- 24
- 上传者