社区讨论
一堆 MLE 求调
P1135奇怪的电梯参与者 2已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 11 条
- 当前快照
- 1 份
- 快照标识符
- @mlkn12th
- 此快照首次捕获于
- 2026/02/13 16:40 6 天前
- 此快照最后确认于
- 2026/02/16 17:30 3 天前
CPP
#include <bits/stdc++.h>
using namespace std;
int n,a,b,ans=0x3f3f3f3f,k[256];
bool vis[256]={false};
void dfs(int x,int lev){
if (lev<1||lev>n) return;
if (lev==b){
ans=min(ans,x);
return;
}
if (k[lev]==0) return;
if (vis[lev]) return;
vis[lev]=true;
dfs(x+1,lev-k[lev]);
vis[lev-k[lev]]=false;
dfs(x+1,lev+k[lev]);
vis[lev+k[lev]]=false;
return;
}
int main(){
scanf("%d %d %d",&n,&a,&b);
for (int i=1;i<=n;i++) scanf("%d",&k[i]);
dfs(0,a);
if (ans!=0x3f3f3f3f) printf("%d",ans);
else printf("-1");
return 0;
}
回复
共 12 条回复,欢迎继续交流。
正在加载回复...