๋ฌธ์
2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
comp ํจ์๋ฅผ ์ง์ ํ์ฌ ์ฃผ์ด์ง ์กฐ๊ฑด๋๋ก ๋น๊ตํ๋ค.
1. y์ขํ๊ฐ ๋ค๋ฅด๋ฉด y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก ์ ๋ ฌ
2. y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก ์ ๋ ฌ
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<int, int> ci;
bool comp(const ci &a, const ci &b){
if (a.second != b.second)
return a.second < b.second;
return a.first < b.first;
}
int main(){
int n;
vector<ci> grid;
// ์
๋ ฅ
cin >> n;
grid.assign(n, {0, 0});
for (int i=0; i<n; i++)
cin >> grid[i].first >> grid[i].second;
// ์ฐ์ฐ
sort(grid.begin(), grid.end(), comp);
// ์ถ๋ ฅ
for (int i=0; i<n; i++)
cout << grid[i].first << " " << grid[i].second << "\n";
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 10757๋ฒ: ํฐ ์ A+B (0) | 2022.07.10 |
---|---|
[๋ฐฑ์ค/C++] 19636๋ฒ: ์์ ์๋ฎฌ๋ ์ด์ (0) | 2022.07.02 |
[๋ฐฑ์ค/C++] 11399๋ฒ: ATM (0) | 2022.07.01 |
[๋ฐฑ์ค/C++] 10994๋ฒ: ๋ณ ์ฐ๊ธฐ - 19 (0) | 2022.06.28 |
[๋ฐฑ์ค/C++] 1946๋ฒ: ์ ์ ์ฌ์ (0) | 2022.06.28 |
๋๊ธ