qew
  • 板块P1104 生日
  • 楼主yanda25
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/11 17:22
  • 上次更新2024/3/11 19:38:19
查看原帖
qew
1227379
yanda25楼主2024/3/11 17:22
#include <iostream>
using namespace std;
struct birthday{
    string name;
    int y,m,d,num;
};
int main(){
    int n,cnt = 0;
    cin >> n;
    struct birthday prime[n + 1];
    for(int i = 1;i <= n;i++){
        cin >> prime[i].name >> prime[i].y >> prime[i].m >> prime[i].d;
        prime[i].num = n - i;
    }
    for(int i = 1;i < n;i++){
        for(int j = 1;j <= n - i;j++){
            if(prime[j].y > prime[j + 1].y || prime[j].y == prime[j + 1].y && prime[j].m > prime[j + 1].m || prime[j].y == prime[j + 1].y && prime[j].m == prime[j + 1].m && prime[j].d > prime[j + 1].d){
                swap(prime[j].name,prime[j + 1].name);
                swap(prime[j].y,prime[j + 1].y);
                swap(prime[j].m,prime[j + 1].m);
                swap(prime[j].d,prime[j + 1].d);
            }
        }
    }
    for(int i = 1;i <= n;i++){
        if(prime[i].y == prime[i + 1].y && prime[i].m == prime[i + 1].m && prime[i].d == prime[i + 1].d){
            if(prime[i].num > prime[i + 1].num){
                swap(prime[i].name,prime[i + 1].name);
                swap(prime[i].y,prime[i + 1].y);
                swap(prime[i].m,prime[i + 1].m);
                swap(prime[i].d,prime[i + 1].d);
            }
        }
    }
    for(int i = 1;i <= n;i++)cout << prime[i].name << endl;
    return 0;
}
2024/3/11 17:22
加载中...