題目連結: https://zerojudge.tw/ShowProblem?problemid=a915

# 內容

给你 n 个二维平面上的点,要求你把他们按照以 x 轴坐标为第一关键字,y 轴坐标为第二关键字的方式从小到大来进行排序。

# 解題思路

運用自訂比較函式排序就對了

# 程式碼

#include <bits/stdc++.h>
using namespace std;
struct sit {
    int x,y;
};
bool cmp(sit a, sit b){
    if(a.x<b.x) return true;
    if(a.x==b.x&&a.y<b.y) return true;
    return false;
}
int main(){
    int n; cin>>n;
    sit a[n];
    for(int i=0;i<n;i++)
        cin>>a[i].x>>a[i].y;
    sort(a,a+n,cmp);
    for(int i=0;i<n;i++)
        cout<<a[i].x<<" "<<a[i].y<<endl;
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay