티스토리 뷰

백준

백준 소스코드 [C++] 11650 좌표 정렬하기

Hani_Levenshtein 2020. 9. 13. 04:04

www.acmicpc.net/problem/11650

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

백준 소스코드 [C++] 11650 좌표 정렬하기

#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;

bool compare(pair<int, int> p1, pair<int, int> p2) {
	if (p1.first == p2.first) return p1.second < p2.second;
	else return p1.first < p2.first;
}
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n,a,b;
	cin >> n;
	vector <pair<int,int>> v;
	for (int i = 0;i < n;i++) {
		cin >> a >> b;
		v.push_back(make_pair(a, b));
	}
	sort(v.begin(), v.end(), compare);
	for (int i = 0;i < n;i++) cout << v[i].first << " " << v[i].second << '\n';
	return 0;
}
댓글