以下源码
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int word[27],r,s,Max=0,count=0,movex[5]={0,-1,0,0,1},movey[5]={0,0,-1,1,0},lo[21][21];
char letters[21][21];
void search(int x,int y){
for(int i=1;i<=4;i++){
x=x+movex[i];
y=y+movey[i];
if(lo[x][y]==0 && word[letters[x][y]-'A'+1]==0 && x>0 && x<=s && y>0 && y<=r){
lo[x][y]=1;
word[letters[x][y]-'A'+1]=1;
count++;
search(x,y);
}
if(count>Max){
Max=count;
}
count--;
lo[x][y]=0;
word[letters[x][y]-'A'+1]=0;
return;
}
}
int main(){
cin>>r>>s;
for(int i=1;i<=r;i++){
for(int j=1;j<=s;j++){
cin>>letters[i][j];
}
}
search(1,1);
cout<<Max;
return 0;
}
在调试的时候第25行程序出现问题而第15行没有问题,截图如下
