别人都是TLE为啥我的是MLE?我算过数组大小不会超内存,为啥呢?
查看原帖
别人都是TLE为啥我的是MLE?我算过数组大小不会超内存,为啥呢?
932822
zhongy楼主2023/2/15 23:05

https://www.luogu.com.cn/record/102223687

#include <bits/stdc++.h>
using namespace std;
int k[201];
int n;
int fx,fy;
int ans=1<<30;
void dfs(int x,int t)
{
   if(x>fy) return;
   if(x==fy)
   {
   	ans=min(ans,t);
   	return;
   }
   if(x+k[x]<=n) {
   x+=k[x];
   t++;
   dfs(x,t);
   t--;
   x-=k[x];
   }
   if(x-k[x]>=1)
   {	x-=k[x];
   t++;
   dfs(x,t);
   t--;
   x+=k[x];
   }
}
int main()
{
   cin>>n;
   int i,j;	
   cin>>fx>>fy;
   for(i=1;i<=n;i++)
   cin>>k[i];
   dfs(fx,0);
   if(ans==1<<30) cout<<-1;
   else 
   cout<<ans;
}
2023/2/15 23:05
加载中...