求助p1001
  • 板块灌水区
  • 楼主mylxxbc
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/24 20:53
  • 上次更新2024/10/24 21:39:08
查看原帖
求助p1001
1505865
mylxxbc楼主2024/10/24 20:53

为什么MLE(别人都是这么写的)

//a+b p1001超长代码
#include<bits/stdc++.h>
using namespace std;
const int N=11;
int mp1[N][N];
int mp[N][N];
int fx[4]={1,0,-1,0};
int fy[4]={0,1,0,-1};
void tu(int x,int y){
	//-1=可以走,-2不可以走
	for(int i=1;i<=N;i++){
		for(int j=1;j<=N;j++){
			mp[i][j]==-1;
			mp1[i][j]==-1;
		}
		mp[rand()%N+1][rand()%N+1]=-2;//随机数随机
		mp1[rand()%N+1][rand()%N+1]=-2;
		mp[N][N]=x;
		mp1[N][N]=y;
	}
}
int dfs1(int x,int y){//搜mp
	for(int i=0;i<4;i++){
		int dx=x+fx[i],dy=y+fy[i];
		if(dx<N&&dx>0&&dy<N&&dy>0&&mp[dx][dy]!=-2)dfs1(dx,dy);
		if(dx==N&&dy==N)return mp[N][N];
	}
}
int dfs2(int x,int y){//搜mp1
	for(int i=0;i<4;i++){
		int dx=x+fx[i],dy=y+fy[i];
		if(dx<N&&dx>0&&dy<N&&dy>0&&mp1[dx][dy]!=-2)dfs2(dx,dy);
		if(dx==N&&dy==N)return mp1[N][N];
	}
}
int main(){
	srand(time(NULL));
	int a,b;
	scanf("%d%d",&a,&b);
	tu(a,b);
	int t=dfs1(1,1);
	int v=dfs2(1,1);
	cout<<t+v;
}
2024/10/24 20:53
加载中...