社区讨论

90求助 #3WA

P1135奇怪的电梯参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo8h00ua
此快照首次捕获于
2023/10/27 18:28
2 年前
此快照最后确认于
2023/10/27 18:28
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int n,a,b,s1=0,f[205],book[205] = {0};

struct node{
	int i,s;
};

queue<node> q;

int main(){
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++){
		cin>>f[i];
	}
	book[a] = 1;
	q.push({a,0});
	while(!q.empty()){
		node now = q.front();
		q.pop();
		if(now.i == b){
			cout<<now.s;
			return 0;
		}
		int ni = now.i - f[now.i];
		if(ni >= a and book[ni] == 0){
			q.push({ni,now.s+1});
			book[ni] = 1;
		}
		ni = now.i + f[now.i];
		if(ni <= b and book[ni] == 0){
			q.push({ni,now.s+1});
			book[ni] = 1;
		} 
	} 
	cout<<-1;
	return 0;
} 

为啥我每次都是这种大部分过了小部分WA很难找的情况

回复

4 条回复,欢迎继续交流。

正在加载回复...