蒟蒻 dfs WA#8#9 求助!!
查看原帖
蒟蒻 dfs WA#8#9 求助!!
321647
阿炜楼主2022/10/26 19:01
#include<cstdio>
#include<iostream>
using namespace std;
int n,a,b,now;
int dx;
int ans= 0x3F3F3F3F;
int k[1001];
bool vis[1001];
void dfs(int x,int y) {
	if(x==b) {
		ans=min(ans,y);
		vis[x]=0;
		return ;
	}
	if(x>ans) {
		vis[x]=0;
		return ;
	}
	vis[x]=1;
	if(x+k[x]<=n&&!vis[x+k[x]]) dfs(x+k[x],y+1);
	if(x-k[x]>=1&&!vis[x-k[x]]) dfs(x-k[x],y+1);
	vis[x]=0;

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

}
2022/10/26 19:01
加载中...