#include <iostream>
#include <algorithm>
#include <utility>
#include <vector>
#include <tuple>
using namespace std;
bool compare(tuple <int, string, int>t1, tuple <int, string, int>t2)
{
if (get<0>(t1) == get<0>(t2))
{
return (get<2>(t1) < get<2>(t2));
}
return (get<0>(t1) < get<0>(t2));
}
int main()
{
int n;
int age;
string name;
vector <tuple <int, string, int>> v;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> age >> name;
v.push_back(make_tuple(age,name,i));
}
sort(v.begin(), v.end(), compare);
for (int i = 0; i < n; i++)
{
cout << get<0>(v[i]) << " " << get<1>(v[i]) << "\n";
}
return (0);
}
'알고리즘' 카테고리의 다른 글
구름 문제 근묵자흑 (0) | 2020.11.18 |
---|---|
백준 11057 오르막 수 (0) | 2020.11.17 |
2.2 [자료구조 알고리즘] 비트연산 완전정복 (0) | 2020.07.12 |
정렬 팁 (0) | 2020.07.11 |
2.1 [자료구조 알고리즘] 비트연산 완전정복 (0) | 2020.07.08 |