12分 求调!!!
查看原帖
12分 求调!!!
1285026
yupeishan2012楼主2024/8/11 20:47

#7 WA #8 #9 AC 其余 MLE!!!

#include <bits/stdc++.h>
using namespace std;

int n,s,e;
int step;
int a[201];

void dfs(int ns,int k)
{
	if(k == 2 && ns == s)
	{
		step --;
		return ;
	}
	if(ns == e) return ;
	if(ns + a[ns] <= n)
	{
		step ++;
		dfs(ns + a[ns], k + 1);
	}
	if(ns - a[ns] >= 1)
	{
		step ++;
		dfs(ns - a[ns], k + 1);
	}
}
int main()
{
	scanf("%d%d%d",&n,&s,&e);
	for(int i = 1; i <= n; i++)
	{
		scanf("%d",&a[i]);
	}
	dfs(s,1);
	if(!step) printf("%d",step - 1);
	else printf("%d",step);
	return 0;
}
2024/8/11 20:47
加载中...