Pagini recente » Cod sursa (job #999048) | Cod sursa (job #705019) | Cod sursa (job #1237048) | Cod sursa (job #2827168) | Cod sursa (job #1009473)
#include <cstdio>
#include <algorithm>
FILE *f=fopen("joc7.in","r"),*g=fopen("joc7.out","w");
using namespace std;
int n,m,a[31][31],use[100],sol=0;
void Read()
{ int i,j; char c;
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++)
{fscanf(f,"%c",&c);
for(j=1;j<=m;j++)
fscanf(f,"%c",&a[i][j]);
}
}
void Back(int x,int y,int k)
{ int i;
sol=max(sol,k);
if (x+1<=n && !use[a[x+1][y]]) {use[a[x+1][y]]=1; Back(x+1,y,k+1); use[a[x+1][y]]=0;}
if (x-1>=1 && !use[a[x-1][y]]) {use[a[x-1][y]]=1; Back(x-1,y,k+1); use[a[x-1][y]]=0;}
if (y+1<=m && !use[a[x][y+1]]) {use[a[x][y+1]]=1; Back(x,y+1,k+1); use[a[x][y+1]]=0;}
if (y-1>=1 && !use[a[x][y-1]]) {use[a[x][y-1]]=1; Back(x,y-1,k+1); use[a[x][y-1]]=0;}
}
int main()
{ Read();
use[a[1][1]]=1;
Back(1,1,1);
fprintf(g,"%d",sol);
return 0;
}