WA 76
查看原帖
WA 76
297831
idgg007楼主2020/8/9 22:56

凄惨的测试结果

令人揪心的代码

#include<iostream>
using namespace std;
struct ruck{
	int Place;//石头位置
	int Flag;//是否来过 
}R[100005];
int N,M,S,Min,F,A[100005],E;
int main(){
	cin>>N>>M>>S;
	R[0].Place=0;
	R[M+1].Place=N;
	for(register int i=1;i<=M;i++)	cin>>R[i].Place;
	int L=0,N1=0;
	while(1){//到河对岸 
		while(R[L].Place-R[N1].Place<S){
			if(L>=M+1){//如果过不去就…… 
				cout<<"NO";
				return 0;
			}
			L++;
		}
		N1=L;
		A[E++]=N1;
		R[N1].Flag=1;
		if(N1>=M+1)	break;
	}
	while(1){//回来 
		while(R[N1].Place-R[L].Place<S||R[L].Flag){
			if(L<=0){//如果回不来就…… 
				cout<<"NO";
				return 0;
			}
			L--;
		}
		N1=L;
		A[E++]=N1;
		R[N1].Flag=1;
		if(N1>=0)	break;
	}
	for(register int i=1;i<=M;i++)
		if(R[i].Flag==0){//是否跑完 
			cout<<"NO";
			return 0;
		}
	cout<<"YES\n";
	for(register int i=0;i<E;i++)	cout<<A[i]<<" ";
	return 0;
}

麻烦大佬们查一查错

2020/8/9 22:56
加载中...