爆掉了,呜呜┭┮﹏┭┮
查看原帖
爆掉了,呜呜┭┮﹏┭┮
404202
acacac123楼主2021/1/3 10:01
c++;

80分,改不动了,呜呜

#include<bits/stdc++.h>
using namespace std;
long long n,a,b,k[210],i,c[210];
void lift(long long nol,long long cs)
{
	c[nol]=min(c[nol],cs);
	if(c[nol]<cs)
	{
		return;
	}
	if(nol-k[nol]>0)
	{	
		lift(nol-k[nol],cs+1);
	}
	if(nol+k[nol]<=n)
	{
		lift(nol+k[nol],cs+1);
	}
	return;
}
int main()
{
	cin>>n>>a>>b;
	memset(c,999999,sizeof(c));
	for(i=1;i<=n;i++)
	{
		cin>>k[i];
	}
	if(a==b)
	{
		cout<<0;
		return 0;
	}
	if(!k[a])
	{
		cout<<-1;
		return 0;
	}
	lift(a,0);
	if(c[b]==999999)
	{
		cout<<-1;
		return 0;
	}
	cout<<c[b];
	return 0;
}
2021/1/3 10:01
加载中...