MLE了,为什么哩
查看原帖
MLE了,为什么哩
612360
muhouchen楼主2022/6/9 14:16
#include<stdio.h>
int n,x1,y1,x2,y2,count=10000000;
char arr[1002][1002];
const int direction1[5]={1,-1,0,0,0},direction2[5]= {0,0,1,-1,0};
void DFS(int a,int b,int temp);
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	scanf("%s",arr[i]+1);
	scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
	DFS(x1,y1,0);
	printf("%d",count);
	return 0;
}
void DFS(int a,int b,int temp)
{
   if(arr[a][b]=='1'||a<1||b<1||a>n||b>n) return;
   if(a==x2&&b==y2)
   {
   	if(temp<count)
   	count=temp;
   	return;
   }
    for(int i=0;i<4;i++)
        DFS(a+direction1[i],b+direction2[i],temp+1); 
}
2022/6/9 14:16
加载中...