36分大佬求调!!!
查看原帖
36分大佬求调!!!
701120
mab123456楼主2024/12/4 20:06
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll n,a,b,ans;
ll c[205];
bool d[205];
void dfs(ll x)
{
	if(x==b)
	{
		cout<<ans;
		return;
	}
	else
	{
		if(x>c[x]&&d[x-c[x]]==0)
		{
			ans++;
			d[x-c[x]]=1;
			dfs(x-c[x]);
		}
		else if(x+c[x]<=n&&d[x+c[x]]==0)
		{
			ans++;
			d[x+c[x]]=1;
			dfs(x+c[x]);
		}
	}
}
int main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)
	cin>>c[i];
	d[a]=1;
	dfs(a);
	if(d[b]==0)
	cout<<"-1";
	return 0;
 } 
2024/12/4 20:06
加载中...