未过样例,样例输出8,求调谢谢QwQ
题面:

这格式,是不是有点眼熟?
代码:
#include<bits/stdc++.h>
using namespace std;
int r,s,vis1[1000],vis2[1000][1000],now,maxx=-1;
int dx[]={0,1,0,-1},dy[]={1,0,-1,0};
string st[100];
void dfs(int x,int y){
now++;
vis2[x][y]=1;
vis1[st[x][y]]=1;
if(now>maxx)
maxx=now;
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
if(xx>=0&&xx<r&&yy>=0&&yy<s&&!vis2[xx][yy]&&!vis1[st[xx][yy]]){
dfs(xx,yy);
}
}
now--;
vis2[x][y]=0;
vis1[st[x][y]]=0;
return;
}
int main(){
cin>>r>>s;
for(int i=0;i<r;i++){
cin>>st[i];
}
for(int i=0;i<r;i++){
for(int j=0;j<s;j++){
memset(vis1,0,sizeof(vis1));
memset(vis2,0,sizeof(vis2));
now=0;
dfs(i,j);
}
}
cout<<maxx;
return 0;
}