๊ธ ์์ฑ์: caputdraconis
/* BOJ 10814์ ๊ด๋ จ๋ ๊ธ์
๋๋ค */
์ด ๋ฌธ์ ๋ฅผ pair์ vector์ ์กฐํฉ์ผ๋ก ํ์ด๋ณด๋ ค๊ณ ํ๋๋ฐ!! ๊ฑธ๋ฆฌ๋๊ฒ ์๋ค.
๊ทธ๋ฅ ์
๋ ฅ๊ฐ์ผ๋ก ์ฃผ์ด์ง ๋์ด์ ์ด๋ฆ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ฉด ์ฌ์ด๋ฐ!
์ด ๋ฌธ๊ตฌ๊ฐ ๊ฑธ๋ฆฐ๋ค..
์ด๋ ์ฌ์ฉํ ์ ์๋๊ฒ stable_sort๋ค! ์ฌ์ฉ๋ฒ์ sort์ ์์ ๋๊ฐ์๋ฐ ์ด stable_sort๋ ๊ธฐ์ค์ด ๋๋ ๋น๊ต๊ฐ์ด ์ผ์นํ ๋ ๊ธฐ์กด์ ์์๋ฅผ ๋ณด์กดํ๋ค.
๊ทธ๋ ๊ธฐ์ ์ด stable_sort ํจ์๋ ๊ธฐ์ค์ ๋ง์๋๋ก ์ค์ ํ ์๋ ์์ผ๋ฉฐ!? ์
๋ ฅ๋ ์์๋ ๋ณด์กดํ ์ ์๋ ์ด์ด๋ ์น๊ตฌ๋ค~
์ด stable_sort ํจ์๋ฅผ ์ฌ์ฉํ BOJ 10814 ํ์ด๋ ์๋์ ๊ฐ๋ค.
// BOJ 10814 With stable_sort
#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<int, string> u, pair<int, string> v)
{
return u.first < v.first;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
vector<pair<int, string> > vec(T);
for (int i = 0; i < T; i++)
{
cin >> vec[i].first >> vec[i].second;
}
stable_sort(vec.begin(), vec.end(), cmp);
for (int i = 0; i < T; i++)
{
cout << vec[i].first << " " << vec[i].second << "\n";
}
}