蒟蒻求助!求大佬吧帮忙!
查看原帖
蒟蒻求助!求大佬吧帮忙!
510360
HbugU楼主2021/8/4 11:44

为什么只能过七个点啊!

#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define fr first
#define se second
#define FAST ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
int n,a,b,ans=INT_MAX;
int arr[205];
bool mark[205];
void dfs(int sum,int now){
	if(now==b) ans=min(ans,sum);
	if(sum>ans) return;
	mark[now]=1;
	int x=now+arr[now],y=y-arr[now];
	if(x<=n&&mark[x]==0) dfs(sum+1,x);
	if(y>=1&&mark[y]==0) dfs(sum+1,y);
	mark[now]=0;
}
int main(){
	FAST;
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++){
		cin>>arr[i];
	}
	mark[a]=1;
	dfs(0,a);
	if(ans==INT_MAX) cout<<"-1";
	else cout<<ans;
	return 0;
}



2021/8/4 11:44
加载中...