社区讨论
58pts 求条
P1135奇怪的电梯参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhj3de7t
- 此快照首次捕获于
- 2025/11/03 20:03 4 个月前
- 此快照最后确认于
- 2025/11/03 20:03 4 个月前
代码如下
C#include <bits/stdc++.h>
using namespace std;
unordered_map<long long,bool> s;
long long c[205];
long long ans = 0;
long long n,sx,ex;
bool f = 0;
void dfs(long long x) {
if (s[x]) return;
s[x] = 1;
if (x != sx) ++ans;
if (x == ex) return cout << ans,f = 1,void();
if (f) return;
if (x + c[x] <= n) dfs(x + c[x]);
if (f) return;
if (x - c[x] >= 1) dfs(x - c[x]);
}
int main() {
cin >> n >> sx >> ex;
for (int i=1;i<=n;++i) cin >> c[i];
if (sx == ex) return cout << 0,0;
dfs(sx);
if (!f) cout << -1;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...