76pts,#2#3#4#5WA,救我!
查看原帖
76pts,#2#3#4#5WA,救我!
840059
tongtong2012楼主2024/6/10 19:50

很奇怪,样例2的输出与我本地运行的输出一模一样,却WA了,大佬们救救我吧!

#include<bits/stdc++.h>
using namespace std;
int n,a,b,k[255],v[255],t[9999999],ts[9999999],mn=1e9;
int main(){
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)cin>>k[i];
	int l=1,r=2;
	t[1]=a,ts[1]=0,v[a]=1;
	while(l<r){
		if(t[l]==b)mn=min(mn,ts[l]);
		if(t[l]==0){
			l++;
			continue;
		}
		if(t[l]+k[t[l]]<=n&&v[t[l]+k[t[l]]]==0)t[r++]=t[l]+k[t[l]],v[t[l]+k[t[l]]]=1,ts[r-1]=ts[l]+1;
		if(t[l]-k[t[l]]>=1&&v[t[l]-k[t[l]]]==0)t[r++]=t[l]-k[t[l]],v[t[l]+k[t[l]]]=1,ts[r-1]=ts[l]+1;
		l++;
	}
	if(mn!=1e9)cout<<mn;
	else cout<<-1;
	return 0;
}
2024/6/10 19:50
加载中...