90分求助,BFS #2 WA了
查看原帖
90分求助,BFS #2 WA了
718169
__int127楼主2023/8/9 10:16

代码:

#include <bits/stdc++.h>
using namespace std;
int n, A, B, k[205], a[205];
struct fl{
	int f, c;
};
queue <fl> q;
int main(){
	cin >> n >> A >> B;
	for (int i = 1; i <= n; i++){
		cin >> k[i];
		a[i] = -1;
	}
	q.push({A, 0});
	while (!q.empty()){
		fl d = q.front();
		q.pop();
		for (int i = -1; i <= 1; i += 2){
			int newfloor = d.f + k[d.f] * i;
			if (newfloor < 1 || newfloor > n || a[newfloor] != -1){
				continue;
			}
			a[newfloor] = d.c + 1;
			q.push({newfloor, d.c + 1});
		}
	}
	cout << a[B];
	return 0;
} 
2023/8/9 10:16
加载中...