struct str{
int x,y,z;
bool operator < (const str&A)const{
return x < A.x;
} //오름차순
};
좌표 정렬을 내가 직접 설정한 compare 함수로 해보자.
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
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;
scanf("%d", &n);
vector<pair<int, int>> a;
for (int i = 0; i < n; i++){
int x, y;
scanf("%d %d", &x, &y);
a.push_back({x, y});
}
sort(a.begin(), a.end(), compare);
for (int i = 0; i < n; i++){
printf("%d %d\n", a[i].first, a[i].second);
}
return 0;
}