P2239莫名MLE,求助,代码有注释
  • 板块灌水区
  • 楼主Flying_hp
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/9/29 18:39
  • 上次更新2024/9/29 21:00:40
查看原帖
P2239莫名MLE,求助,代码有注释
1123665
Flying_hp楼主2024/9/29 18:39
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,i,j;
bool flag[30010][30010];
void dfs(ll x,ll y,ll mx,ll my,ll sum){//mx:x现在的方向 my:y现在的方向 
	flag[x][y]=true;//标记经过 
	if(x==i&&y==j){//到了 
		cout<<sum;
		return;
	}
	if(sum==n*n)return;//遍历完了 
	if(x+mx<=n&&y+my<=n&&x+mx>0&&y+my>0&&!flag[x+mx][y+my]){//继续走 
		dfs(x+mx,y+my,mx,my,sum+1);
	}
	else{
		if(mx==0&&my==1)mx=1,my=0;//改变方向 
		else if(mx==1&&my==0)mx=0,my=-1;
		else if(mx==0&&my==-1)mx=-1,my=0;
		else if(mx==-1&&my==0)mx=0,my=1;
		dfs(x+mx,y+my,mx,my,sum+1);
	}
}
signed main(){
	cin>>n>>i>>j;
	dfs(1,1,0,1,1);
	return 0;
}

评测记录

2024/9/29 18:39
加载中...