문제링크
º https://www.acmicpc.net/problem/11651
사용 알고리즘
º 퀵 소트
시간복잡도
º $\mathcal{O}(NlogN)$
풀이
위와 같이 문제에서 제시한 정렬 순서로 sort를 할 수 있게 compare함수를 설계하여 해결하면 되는 정렬문제 입니다.
아래 블로그에서 C++ STL의 사용법을 참고해서 해결하면 됩니다. 언젠가 아래 블로그와 같이 C++ STL에 대한 사용법도 정리할 수 있으면 좋겠습니다. 게을러서 오래걸리겠지만
8. C++ STL sort() 함수 다루기 ①
지난 시간까지 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬의 개념에 대해 이해하고 간단한 프로...
blog.naver.com
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include <iostream> #include <algorithm> #include <vector> using namespace std; vector <pair<int, int>> v; int n; bool cmp(pair<int, int> a, pair<int, int> b) { if (a.second == b.second) return a.first < b.first; return a.second < b.second; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL), cout.tie(NULL); cin >> n; v.resize(n); for (int i = 0; i < n; i++) cin >> v[i].first >> v[i].second; sort(v.begin(), v.end(), cmp); for (int i = 0; i < n; i++) cout << v[i].first <<' ' <<v[i].second << '\n'; return 0; } Colored by Color Scripter |
cs |
'Algorithm > boj' 카테고리의 다른 글
백준 1654번 랜선 자르기 (0) | 2021.10.24 |
---|---|
백준 13397번 구간 나누기 2 (0) | 2021.10.24 |
백준 1939번 중량제한 (0) | 2021.10.24 |
백준 2805번 나무 자르기 (0) | 2021.10.24 |
백준 2110번 공유기 설치 (1) | 2021.10.24 |