只AC了两个点
查看原帖
只AC了两个点
555898
dreeam楼主2021/10/1 19:19

求大佬救我

#include<bits/stdc++.h>
using namespace std;
int n,a,b,m[209],s=1;
int main(){	
    cin>>n>>a>>b;
    for(int i=1;i<=n;i++){
    	cin>>m[i];
	}
	if(a==b){
		cout<<"0";
	}
	for(int i=1;;i++){
        if(a>b){
           if(a-m[a]>0){
        		a=a-m[a];
        		s++;
		   }
		   else if(a+m[a]>n){
		   	cout<<"-1";
		   	return 0;
		   }
		   else {
		   	a=a+m[a];
		   	s++;
		   }	
		}
		if(a<b){
			if(a+m[a]>n){
		   		a=a+m[a];
		   		s++;
		   	}
		   	else if(a-m[a]>0){
        		a=a-m[a];
        		s++;
		   }
		   else {
		   	cout<<"-1";
		   	return 0;
		   }
		}
		if(a==b){
			cout<<s;
			return 0;
		}
	}
	return 0;
} 
2021/10/1 19:19
加载中...