求助!!找问题

P1135 奇怪的电梯

二次修改的代码: ```cpp #include<iostream> using namespace std; const int N=210; int n,a,b; int arr[N]; int res=1e9; bool flag[N]; void dfs(int x,int cnt){ if(cnt>=res||x>n||x<0){ return ; } if(x==b){ res=min(res,cnt); return ; } flag[x]=true; if(x+arr[x]<=n&&!flag[x+arr[x]]){ flag[x+arr[x]]=true; dfs(x+arr[x],cnt+1); flag[x+arr[x]]=false; } if(x-arr[x]>0&&!flag[x-arr[x]]){ flag[x-arr[x]]=true; dfs(x-arr[x],cnt+1); flag[x-arr[x]]=false; } } int main(){ scanf("%d %d %d",&n,&a,&b); for(int i=1;i<=n;i++){ scanf("%d",&arr[i]); } dfs(a,0); if(res==1e9){ printf("-1\n"); }else{ printf("%d\n",res); } return 0; } ``` 超时了
by BoubbleSort___ @ 2024-04-05 22:06:06


|