rt
#include<cstdio>
using namespace std;
int a[105][105],h[4]={0,0,1,-1},z[4]={1,-1,0,0};
int n,x2,y2;
int ans=0;
void dfs(int x,int y,int sum)
{
if(sum>=ans) ans=sum;
for(int i=0;i<4;i++)
{
int s=0,x1,y1;
while(x+h[i]>0 && x+h[i]<=n && y+z[i]>0 && y+z[i]<=n && a[x1][y1]==1)
{
s++;
x1=x+h[i];
y1=y+z[i];
}
if(a[x1][y1]==0 && s>1 && x1>0 && x1<=n && y1>0 && y1<=n)
{
a[x1][y1]=1;
dfs(x1,y1,sum+s);
a[x1][y1]=0;
}
}
}
int main()
{
scanf("%d %d %d",&n,&x2,&y2);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
}
}
a[x2][y2]=1;
dfs(x2,y2,0);
printf("%d",ans);
return 0;
}
lg ide 的结果是0。
谢谢愿意看的大佬。