LETTERS

发布时间 2023-07-22 14:49:26作者: siuuuuuuuu
#include<bits/stdc++.h>
using namespace std;
int r,s,t[200],ans;
int dx[]={-1,0,1,0},
    dy[]={0,-1,0,1};
char a[100][100];
void dfs(int x,int y,int cnt){
    ans=max(ans,cnt);    
    for(int i=0; i<4; i++){
        int xx=x+dx[i];
        int yy=y+dy[i];
        if(xx<0||xx>=r||yy<0||yy>=s) continue;
        if(t[a[xx][yy]]==0){          
            t[a[xx][yy]]=1;
            dfs(xx,yy,cnt+1);        
            t[a[xx][yy]]=0;
        }
    }
}
int main()
{
    cin>>r>>s;
    for(int i=0; i<r; i++)
            cin>>a[i];    
    v[0][0]=1;
    t[a[0][0]]=1;
    dfs(0,0,1);
    cout<<ans<<endl;
    return 0;
}