社区讨论
52分求条,悬关
P1135奇怪的电梯参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @micp87sg
- 此快照首次捕获于
- 2025/11/24 13:21 3 个月前
- 此快照最后确认于
- 2025/11/24 15:43 3 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,a,b;
vector<int> k(200+78);
struct node
{
int pos;
int step;
};
vector<bool> visited(200+78,0);
void bfs()
{
a--;
b--;
queue<node> q;
q.push({a,0});
//int ans = 0;
while(!q.empty())
{
node x = q.front();
visited[x.pos]=1;
if(x.pos==b)
{
cout<<x.step;
return;
}
q.pop();
if(!visited[x.pos+k[x.pos]])
{
q.push({x.pos + k[x.pos], x.step + 1});
visited[x.pos + k[x.pos]] = 1;
}
//q.push({x.pos + k[x.pos], x.step + 1});
if(x.pos-k[x.pos]>=0 && !visited[x.pos - k[x.pos]])
{
q.push({x.pos - k[x.pos],x.step+1});
visited[x.pos - k[x.pos]] = 1;
}
}
return;
}
int main()
{
cin>>n>>a>>b;
for (int i = 0; i < n;i++)
{
cin >> k[i];
}
bfs();
return 0;
}
记录:https://www.luogu.com.cn/record/249274709
回复
共 4 条回复,欢迎继续交流。
正在加载回复...