Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
134520 | 林泽豪 | 常用排序法 | C++ | 解答错误 | 0 | 387 MS | 1420 KB | 703 | 2024-03-02 16:08:13 |
#include<bits/stdc++.h> using namespace std; int a[100003],b[100003]; int n; void qsort(int l,int r){ int i=l,j=r,mid; mid=(l+r)/2; do{ while(a[i]<a[mid]||(a[i]==a[mid]&&b[i]<b[mid]))i++; while(a[j]>a[mid]||(a[i]==a[mid]&&b[i]<b[mid]))j--; if(i<=j){ swap(a[i],a[j]); swap(b[i],b[j]); i++;j--; } }while(i<=j); if(l<j)qsort(l,j); if(i<r)qsort(i,r); } void insort(){ for(int i=2;i<=n;i++){ int j=i; while(a[j]<a[j-1]&&j>0){ swap(a[j],a[j-1]); j--; } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]>>b[i]; } qsort(1,n); for(int i=1;i<=n;i++){ cout<<a[i]<<' '<<b[i]<<endl; } }