社区讨论

为什么会RE啊!QAQ

P1135奇怪的电梯参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo2usnfm
此快照首次捕获于
2023/10/23 20:07
2 年前
此快照最后确认于
2023/10/23 20:07
2 年前
查看原帖
救命救命,求大佬相助
CPP
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a,b,ans=1e9,num[10000010];
bool use[10000010],flag;
void Dfs(ll cc,ll step){
	if(step>=ans)return;
	if(cc==b){
		flag=true;
		ans=min(ans,step);
		return;       
	}
	if(cc+num[cc]<=n && !use[cc+num[cc]]){
		use[cc+num[cc]]=true;
		Dfs(cc+num[cc],step+1);
		use[cc+num[cc]]=false;
	}
	if(cc+num[cc]>=1 && !use[cc-num[cc]]){
		use[cc-num[cc]]=true;
		Dfs(cc-num[cc],step+1);
		use[cc-num[cc]]=false;
	}
}
int main(){
	cin >> n >> a >> b;
	for(ll i=1;i<=n;i++){
		cin >> num[i];
	}
	Dfs(a,0);
	if(flag){
		cout << ans;
	}else{
		cout << -1;
	}
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...