알고리즘

백준 10814 나이순 정렬

코딩클로스 2020. 11. 19. 19:21

 

#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