13个MLE警示后人
查看原帖
13个MLE警示后人
1167566
lizicl楼主2024/6/27 19:33
#include<bits/stdc++.h>
using namespace std;
int n,a,b,k[201],dis[201];
void dfs(int node,int step){
	dis[node]=step;
	int v=node-k[node];
	if(1<=v&&step+1<dis[v])
		dfs(v+1,step);
	v=node+k[node];
	if(v<=n&&step+1<dis[v])
		dfs(v+1,step);
	return;
}
int main(){
	memset(dis,0x3f,sizeof(dis));
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)
		cin>>k[i];
	dfs(a,0);
	cout<<(dis[b]==0x3f3f3f3f?-1:dis[b]);
	return 0;
}
2024/6/27 19:33
加载中...