58求调,悬关
查看原帖
58求调,悬关
1406613
LHW_Cosset_Idiot楼主2024/8/13 11:57
#include<bits/stdc++.h>
using namespace std;
int n,a,b,t[201],sum,o=1e9+7,p[201];
void dg(int x)
{
	p[x]=1;
	if(x==b){
		if(sum<o) o=sum;
		return ;
	}
	if(x+t[x]<=n&&!p[x+t[x]]){
		sum++;
		dg(x+t[x]);
		sum--;
	}
	if(x-t[x]>=1&&!p[x+t[x]]){
		sum++;
		dg(x-t[x]);
		sum--;
	}
	return ;
}
int main()
{
	cin>>n>>a>>b;
	for(int i=1; i<=n; i++){
		cin>>t[i];
	}
	dg(a); 
	if(o==1e9+7){
		cout<<-1;
		return 0;
	}
	cout<<o;
	return 0;
}
2024/8/13 11:57
加载中...