这里,这里;sos|sos
查看原帖
这里,这里;sos|sos
929285
封禁用户楼主2024/4/22 16:52
#include<bits/stdc++.h>

using namespace std;

int n,a,b;
int ans;
int k[10101];
void dfs(int pos)
{
	if(pos==b)//到重点
	{
		ans++;//累加
		return ;//回家
	}
	if(pos-k[pos]>=1)//可上可下
	{
		dfs(pos+k[pos]);//上去;
		dfs(pos-k[pos]);//下去;
	}
	else//只能上
		dfs(pos+k[pos]);//上去
}

int main()
{
	cin>>n>>a>>b;
	for(int i=1;i<=n;++i)
		cin>>k[i];
	dfs(a);
	if(ans==0)
		cout<<"-1";
	else
		cout<<ans;
	return 0;
}

2024/4/22 16:52
加载中...