诗山球跳
  • 板块灌水区
  • 楼主wantto123
  • 当前回复20
  • 已保存回复23
  • 发布时间2024/7/16 20:21
  • 上次更新2024/7/16 21:29:31
查看原帖
诗山球跳
1114327
wantto123楼主2024/7/16 20:21
#include<bits/stdc++.h>
using namespace std;
int n;
struct stu{
	string name;
	int mo,da;
}a[100010];
bool cmp(stu x,stu y){
	if(x.mo!=y.mo) return x.mo<y.mo;
	if(x.mo!=y.da) return x.da<y.da;
	if(x.name.size()!=y.name.size()) return x.name.size()>y.name.size();
	return x.name<y.name;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i].name>>a[i].mo>>a[i].da;		
	sort(a+1,a+n+1,cmp);
	bool flag=0;
	for(int i=1;i<=n;i++){
		if(a[i].mo==a[i+1].mo&&a[i].da==a[i+1].da) cout<<a[i].mo<<' '<<a[i].da<<' '<<a[i].name;
		while(a[i].mo==a[i+1].mo&&a[i].da==a[i+1].da){
			flag=1;
			i++;
			cout<<' '<<a[i].name;
		}
		cout<<endl;
	}
	if(!flag) cout<<"None";
	return 0;
}
2024/7/16 20:21
加载中...