输出格式求助
查看原帖
输出格式求助
422996
HeCao2008楼主2023/2/7 21:43
#include<bits/stdc++.h>
using namespace std;
int n,t;
struct node{
	int x;int dir;int id;int iid;
}a[1000001];
int ansx[1000001],ansdir[1000001];
bool compare(node a,node b){
	return a.x<b.x;
}
bool cmp(node a,node b){
	return a.id<b.id;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	int tt;
	cin>>tt;
	for(int ttt=1;ttt<=tt;ttt++){
		cout<<"Case #"<<ttt<<":\n";
		int l;
		memset(a,0,sizeof(a));
		memset(ansdir,0,sizeof(ansdir));
		memset(ansx,0,sizeof(ansx));
		cin>>l>>t>>n;
		for(int i=1;i<=n;i++){
			char c;
			cin>>a[i].x>>c;
			if(c=='R')a[i].dir=1;
			else a[i].dir=-1;
			a[i].id=i;
		}
		sort(a+1,a+n+1,compare);
		for(int i=1;i<=n;i++){
			a[i].iid=i;
			a[i].x+=a[i].dir*t;
		}
		sort(a+1,a+n+1,compare);
		for(int i=2;i<=n;i++){
			if(a[i].x==a[i-1].x){
				a[i].dir=0;
				a[i-1].dir=0;
			}
		}
		for(int i=1;i<=n;i++){
			ansx[i]=a[i].x;
			ansdir[i]=a[i].dir;
		}
		sort(a+1,a+n+1,cmp);
		for(int i=1;i<=n;i++){
			string aaans;
			if(ansdir[a[i].iid]==1)aaans="R";
			else if(ansdir[a[i].iid]==0)aaans="Turning";
			else if(ansdir[a[i].iid]==-1)aaans="L";
			if(ansx[a[i].iid]<0||ansx[a[i].iid]>l)cout<<"Fell of\n";
			else cout<<ansx[a[i].iid]<<" "<<aaans;
			if(!(i==n))cout<<"\n";
		}
		if(ttt!=tt)cout<<"\n";
    }   
	return 0;
} 
2023/2/7 21:43
加载中...