52 lines
1.7 KiB
C++
52 lines
1.7 KiB
C++
#include <iostream>
|
|
#include <cstring>
|
|
using namespace std;
|
|
|
|
int main() {
|
|
int n;
|
|
cin >> n;
|
|
int birthdays[n][3];
|
|
string name[n];
|
|
for (int i = 0; i < n; i++) {
|
|
cin>>name[i]>>birthdays[i][0]>>birthdays[i][1]>>birthdays[i][2];
|
|
}
|
|
bool flag = false;
|
|
while (flag == false){
|
|
int js = 0;
|
|
for (int i = 0; i < n - 1; i++) {
|
|
if(birthdays[i][0]>birthdays[i+1][0]){
|
|
js++;
|
|
swap(name[i],name[i+1]);
|
|
swap(birthdays[i][0],birthdays[i+1][0]);
|
|
swap(birthdays[i][1],birthdays[i+1][1]);
|
|
swap(birthdays[i][2],birthdays[i+1][2]);
|
|
}
|
|
if(birthdays[i][0]==birthdays[i+1][0]&&birthdays[i][1]>birthdays[i+1][1]){
|
|
js++;
|
|
swap(name[i],name[i+1]);
|
|
swap(birthdays[i][0],birthdays[i+1][0]);
|
|
swap(birthdays[i][1],birthdays[i+1][1]);
|
|
swap(birthdays[i][2],birthdays[i+1][2]);
|
|
}
|
|
if(birthdays[i][0]==birthdays[i+1][0]&&birthdays[i][1]==birthdays[i+1][1]&&birthdays[i][2]>birthdays[i+1][2]){
|
|
js++;
|
|
swap(name[i],name[i+1]);
|
|
swap(birthdays[i][0],birthdays[i+1][0]);
|
|
swap(birthdays[i][1],birthdays[i+1][1]);
|
|
swap(birthdays[i][2],birthdays[i+1][2]);
|
|
}
|
|
if(birthdays[i][0]==birthdays[i+1][0]&&birthdays[i][1]==birthdays[i+1][1]&&birthdays[i][2]==birthdays[i+1][2]){
|
|
swap(name[i],name[i+1]);
|
|
swap(birthdays[i][0],birthdays[i+1][0]);
|
|
swap(birthdays[i][1],birthdays[i+1][1]);
|
|
swap(birthdays[i][2],birthdays[i+1][2]);
|
|
}
|
|
}
|
|
if(js == 0) flag = true;
|
|
}
|
|
for (int i = 0; i < n; i++) {
|
|
cout<<name[i]<<endl;
|
|
}
|
|
return 0;
|
|
}
|