求助大佬为什么会出现MLE?
  • 板块P1605 迷宫
  • 楼主gzkeylucky
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/5/10 15:23
  • 上次更新2023/10/28 01:45:57
查看原帖
求助大佬为什么会出现MLE?
587819
gzkeylucky楼主2022/5/10 15:23
#include <iostream>
#include <cstdio>
using namespace std;
int a[100][100],b[100][100];	//a用来统计障碍数,b用来统计走过的路
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int x2,y2;
int n,m,t,sx,sy,fx,fy,x,y,sum=0;
int i,j,k;
void dfs(int x,int y)
{
	if((x==fx)&&(y==fy))
	{
		sum++;
		return;
	}
	for(i=0;i<4;i++)
	{
		x2=x+dx[i];
		y2=y+dy[i];
		if(x2<1||y2<1||x2>n||y2>m)
		{
			continue;
		}
		else{
			if((a[x2][y2]!=1)||(b[x2][y2]!=0))
			{
				b[x2][y2]=1;
				dfs(x2,y2);
				b[x2][y2]=0;
			}	
		}
	}
}


int main()
{
	scanf("%d %d %d",&n,&m,&t);
	scanf("%d %d %d %d",&sx,&sy,&fx,&fy);
	a[sx][sy]=1;
	for(int i=1;i<=t;i++)
	{
		scanf("%d %d",&x,&y);
		a[x][y]=1;	
	}
	dfs(sx,sy);
	printf("%d",sum);	
	return 0;
}
2022/5/10 15:23
加载中...