40分求助
查看原帖
40分求助
1013149
fuyanchun楼主2023/7/28 10:00

捣鼓了半天,最后一个测试点WA,还有几个MLE, 下面上代码.

code:

#include <bits/stdc++.h>
using namespace std;
int n,a,b;
int to[160];
bool vis[160];
void dfs(int step,int _now)
{
    if (vis[_now-1]==1)
    {
        cout<<-1<<endl;
        exit(0);
    }
    if (_now<=0)
    {
        return;
    }
    if (_now>n)
    {
        return;
    }
    if (_now==b)
    {
        cout<<step-1<<endl;
        exit(0);
    }
    dfs(step+1,_now+to[_now-1]);
    vis[_now+to[_now-1]]=1;
    dfs(step+1,_now-to[_now-1]);
    vis[_now-to[_now-1]]=1;
}
int main()
{
    cin>>n>>a>>b;
    for (int i = 0; i < n; i++)
    {
        cin>>to[i];
    }
    dfs(1,a);
}
2023/7/28 10:00
加载中...