Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
136458 刘星辰liuxingchen 双关键字排序 C++ 运行超时 20 1000 MS 1024 KB 691 2024-03-09 09:31:54

Tests(1/5):


#include<bits/stdc++.h> using namespace std; int n; struct point { int a; int b; }; point a[100010]; void s(int l,int r) { if(l>=r) { return ; } int i=l; int j=r; int t=l; while(i!=j) { while((a[i].a<a[t].a || a[i].a==a[t].a && a[i].b<a[t].b) && i<j) { i++; } while((a[j].a>a[t].a || a[j].a==a[t].a && a[j].b>a[t].b) && i<j) { j--; } if(i<j) { swap(a[i],a[j]); } } swap(a[l],a[i]); s(l,i-1); s(i+1,r); } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].a; cin>>a[i].b; } s(1,n); for(int i=1;i<=n;i++) { cout<<a[i].a; cout<<" "; cout<<a[i].b; cout<<endl; } return 0; }


测评信息: