80 pts,悬关(我要炸了)
  • 板块P1104 生日
  • 楼主pangyuchen75
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/20 17:33
  • 上次更新2023/12/20 20:32:12
查看原帖
80 pts,悬关(我要炸了)
842408
pangyuchen75楼主2023/12/20 17:33
#include <iostream>
#include <string>
#include <algorithm>
#define N 105
using namespace std;

int n;
int y, m, d;

struct student {
	int num;
	string name;
	int ymd;
	
	friend bool operator < (student a, student b) {
		return a.ymd < b.ymd;
	}
} stu[N];

int main() {
	cin >> n;
	
	for(int i = 1; i <= n; ++i) {
		cin >> stu[i].name >> y >> m >> d;
		stu[i].ymd = y * 10000 + m * 100 + d;
		stu[i].num = i; 
	}
	
	sort(stu + 1, stu + n + 1);
	
	for(int i = 1; i <= n; ++i)
		for(int j = i + 1; j <= n; ++j)
			if(stu[i].ymd == stu[j].ymd && stu[i].num < stu[i].num)
				swap(stu[i], stu[j]);
	
	for(int i = 1; i <= n; ++i)
		cout << stu[i].name << endl;
	
	return 0;
}
2023/12/20 17:33
加载中...