T246085 排队求助
  • 板块学术版
  • 楼主wjhc_good
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/17 17:02
  • 上次更新2024/10/17 19:31:16
查看原帖
T246085 排队求助
1003795
wjhc_good楼主2024/10/17 17:02

T246085 排队 不确定大佬们能不能看见,可以的帮个忙

3个RE,一个对,其余WA

代码如下

#include<iostream>
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
struct a{
	int bh;
	int xb;
	int yan;
	int qian;
};
a n[100000];
a ng[100000];
a nb[100000];
int wg,wb;
bool cmpg(a x,a y){
	if(x.yan>y.yan){
		return x.yan>y.yan;
	}
	else if(x.qian<y.qian){
		return x.qian<y.qian;
	}
	else{
		return x.bh<y.bh;
	}
}
bool cmpb(a x,a y){
	if(x.qian>y.qian){
		return x.qian>y.qian;
	}
	else if(x.yan<y.yan){
		return x.yan<y.yan;
	}
	else{
		return x.bh<y.bh;
	}
}
int q;
int main(){
	cin>>q;
	for(int i=1;i<=q;i++){
		cin>>n[i].xb>>n[i].yan>>n[i].qian;
		n[i].bh=i;
	}
	for(int i=1;i<=q;i++){
		if(n[i].xb==0){
		    wg++;//女 
			ng[wg].bh=n[i].bh;
			ng[wg].qian=n[i].qian;
			ng[wg].xb=n[i].xb;
			ng[wg].yan=n[i].yan;
		}
		if(n[i].xb==1){
		    wb++;//男 
			nb[wb].bh=n[i].bh;
			nb[wb].qian=n[i].qian;
			nb[wb].xb=n[i].xb;
			nb[wb].yan=n[i].yan;
		}
	}
	int sl=0;
	sort(ng,ng+wg,cmpg);
	sort(nb,nb+wb,cmpb);
	sl=min(wg,wb);
	for(int i=1;i<=sl;i++){
		cout<<nb[i].bh<<" "<<nb[i].xb<<" "<<nb[i].yan<<" "<<nb[i].qian;
		cout<<endl;
		cout<<ng[i].bh<<" "<<ng[i].xb<<" "<<ng[i].yan<<" "<<ng[i].qian;
		cout<<endl;
	}
	if(wb>sl){
		for(int i=wb;i<=wb;i++){
		    cout<<nb[i].bh<<" "<<nb[i].xb<<" "<<nb[i].yan<<" "<<nb[i].qian;
		    cout<<endl;
		}
	}
	else{
		for(int i=wg;i<=wg;i++){
		    cout<<ng[i].bh<<" "<<ng[i].xb<<" "<<ng[i].yan<<" "<<ng[i].qian;
		    cout<<endl;
		}
	}
	return 0;
}
2024/10/17 17:02
加载中...