반응형

문제 : https://www.acmicpc.net/problem/11650

풀이

vector<pair<int,int>>를 정렬하는 방법이 필요하다.

https://hydroponicglass.tistory.com/33

 

[STL] c++ sort 활용

sort 활용시마다 추가될 문서 vector<pair<int, int="">> 1차, 2차 정렬하기 정렬 전 3 4 1 1 1 -1 2 2 3 3 정렬 후 1 -1 1 1 2 2 3 3 3 4 벡터 정의 #include #include vector<pair<int, int="">>..</pair<int,></pair<int,>

hydroponicglass.tistory.com


구현

cout은 시간초과로 printf로 대체

//c++
#pragma warning (disable:4996)

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>

using namespace std;

vector<pair<int, int>>v;

bool compare(pair<int, int>a, pair<int, int>b) {
	if (a.first == b.first) {
		return a.second < b.second;
	}
	else {
		return a.first < b.first;
	}
}

int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int a, b;
		scanf("%d %d", &a, &b);
		v.push_back({ a,b });
	}
	sort(v.begin(), v.end(), compare);
	for (int i = 0; i < n; i++) {
		//cout << v[i].first << " " << v[i].second << endl;
		printf("%d %d\n", v[i].first, v[i].second);
	}
}