提交时间:2024-03-04 13:42:16
运行 ID: 135091
#include<bits/stdc++.h> using namespace std; int n,x,y; struct shu { int a; int b; }shu[100005]; void paia() { for(int i=1;i<n;i++) { int minn=i; for(int j=i+1;j<=n;j++) { if(shu[j].a<shu[minn].a) minn=j; } if(minn!=i) swap(shu[i],shu[minn]); } return; } void paib(int a,int b) { for(int i=a;i<b;i++) { int minn=i; for(int j=i+1;j<=b;j++) { if(shu[j].b<shu[minn].b) minn=j; } if(minn!=i) swap(shu[i],shu[minn]); } x=y; return; } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>shu[i].a>>shu[i].b; paia(); x=y=1; while(1) { y++; if(y>n) { paib(x,y-1); break; } if(shu[x].a!=shu[y].a) paib(x,y-1); } for(int i=1;i<=n;i++) cout<<shu[i].a<<" "<<shu[i].b<<endl; return 0; }