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