80WA #8 #10 求大佬帮蒟蒻指正
查看原帖
80WA #8 #10 求大佬帮蒟蒻指正
363495
我爱杨帆楼主2020/7/31 17:35
#include<bits/stdc++.h>
using namespace std;
struct queue
{
	int num;
	int hi;
	int step;
}que[160005];
int h[100];
int c[3]={1,-1};
bool check [450];
 int main(){
 int n,a,b;
 cin>>n>>a>>b;
 
 for(int i=1;i<=n;i++)
   {cin>>h[i];
   }
   if(a==b) {
 	cout<<0;return 0;
 }
  int hd=0,tl=1;
  que[1].hi=a;  
  que[1].num=h[a];
  que[1].step=0;
  check[a]=1;
  while(hd!=tl)
  { hd++;
    for(int i=0;i<2;i++)
     {int nh=que[hd].hi+c[i]*que[hd].num;
  	   if(nh>0&&nh<=n&&!check[nh])
         { tl++;
           que[tl].hi=nh;
           que[tl].step=que[hd].step+1;
           que[tl].num=h[que[tl].hi];
           check[que[tl].hi]=1;
		   if(que[tl].hi==b)
		   {cout<<que[tl].step;return 0;}	
		 }
  }
  }
  if(hd==tl) cout<<-1;
	 return 0;
 }

求指正!!!

感谢!

2020/7/31 17:35
加载中...