题目描述
输入 n 个不同的坐标,按 x 轴的值从小到大排序,如果 x 相同,则按照 y 排序。
输入格式
第 1 行是一个整数 n ( n <=10000 )。
接下来有 n 行,每行有 2 个整数,代表了 1 个点的坐标。
输出格式
输出 n 行,每行有 2 个整数,输出排序后的 n 个坐标。
输入样例
4
-1 -1
1 1
-1 1
1 -1
输出样例
-1 -1
-1 1
1 -1
1 1
题解
#include<bits/stdc++.h>
using namespace std;
struct stu {
int x,y;
};
bool cmp(stu n,stu m){
if(n.x!=m.x){
return n.x<m.x;
}
else{
return n.y<m.y;
}
}
stu a[10001];
int n;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].x<<" "<<a[i].y<<endl;
}
return 0;
}