12分求调,玄关
查看原帖
12分求调,玄关
1159919
hetong321楼主2024/12/15 10:42
//1439  1441  1451  2804  2805  2029  1284
#include<bits/stdc++.h>
using namespace std;
int k[300],a,b,n;
deque<int>q;
void bfs(){
	int m,r=0;
	q.push_back(a);
	while(!q.empty()){
		r++;
		m=q[0];
		q.pop_front();
		if(m==b){
			cout<<r-1;
			exit(0);
		}
		if(m+k[m-1]<=n)q.push_back(m+k[m-1]);
		if(m-k[m-1]>0)q.push_back(m-k[m-1]);
		//cout<<m<<" ";
	}
	cout<<-1;
	exit(0);
}
int main(){
	cin>>n>>a>>b;
	for(int i=0;i<n;i++){
		cin>>k[i];
	}
	bfs();
}
2024/12/15 10:42
加载中...