DFS,20分,求助!!!
查看原帖
DFS,20分,求助!!!
676569
WoodReal12楼主2022/9/22 21:12
#include <iostream>
using namespace std;

int n,a,b,mn=1000,k[205];
void srh(int fl,int cnt){//floor;
    if(fl==b){
        mn=min(mn,cnt);
        return ;
    }
    if(fl+k[fl]<=n)
        srh(fl+k[fl],cnt+1);
    if(fl-k[fl]>=1)
        srh(fl-k[fl],cnt+1);
}
int main(){
    cin>>n>>a>>b;
    for(int i=1;i<=n;i++)
        cin>>k[i];
    srh(a,0);
    if(mn==1000)
        cout<<-1<<endl;
    else
        cout<<mn<<endl;
    return 0;
}

以上是本蒟蒻的代码,望大佬指点!

2022/9/22 21:12
加载中...