社区讨论
三个WA,四个TLE,40分
P1135奇怪的电梯参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo1t2l3t
- 此快照首次捕获于
- 2023/10/23 02:31 2 年前
- 此快照最后确认于
- 2023/11/03 03:07 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,a,b;
queue<int> q;
bool vis[205];
int dp[205];
int f[205];
int main()
{
cin>>n>>a>>b;
q.push(a);
vis[a]=1;
for(int i=1;i<=n;i++)
{
cin>>f[i];
}
while(!q.empty())
{
int x=q.front();
q.pop();
if(x==b) break;
int u=x+f[x];
int v=x-f[x];
if(u<=n&&vis[u]==0)
{
dp[u]=dp[x]+1;
q.push(u);
}
if(v>=1&&vis[v]==0)
{
dp[v]=dp[x]+1;
q.push(v);
}
}
if(a==b) cout<<"0"<<endl;
if(dp[b]==0) cout<<"-1";
else cout<<dp[b];
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...