社区讨论
为什么会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 条回复,欢迎继续交流。
正在加载回复...