WA 求助
查看原帖
WA 求助
598875
nikodo楼主2024/6/23 09:19
#include<bits/stdc++.h>
using namespace std;
struct Ant{
	int id;int p;int d;
	bool operator<(const Ant &B)const{
		if(p==B.p)return id<B.id;
		return p<B.p;
	}
}be[10005],af[10005];
int ord[10005];
int main(){
	ios::sync_with_stdio(0);
	int T;cin>>T;
	int kase=0;
	while(T--){
		int l,t,n;cin>>l>>t>>n;
		for(int i=1;i<=n;i++){
			int p,d;char c;
			cin>>p>>c;
			if(c=='L')d=-1;
			else d=1;
			be[i]=(Ant){i,p,d};
			af[i]=(Ant){0,p+d*t,d};
		}
		sort(be+1,be+n+1);
		for(int i=1;i<=n;i++)
			ord[be[i].id]=i;
		sort(af+1,af+n+1);
		for(int i=1;i<n;i++)if(af[i].p==af[i+1].p)af[i].d=af[i+1].d=0;
        if(kase)cout<<'\n';
		cout<<"Case #"<<++kase<<'\n';
		for(int i=1;i<=n;i++){
			int tmp=ord[i];
			if(af[tmp].p<0||af[tmp].p>l)cout<<"Fell off\n";
			else{
				cout<<af[tmp].p<<' ';
				if(af[tmp].d==0)cout<<"Turning\n";
				else if(af[tmp].d==1)cout<<"R\n";
				else cout<<"L\n";
			}
		}
	}
	return 0;
}
2024/6/23 09:19
加载中...