Run ID:148255

提交时间:2026-02-10 16:02:36

#include<bits/stdc++.h> using namespace std; struct grade{ string d; int c; }gra[101]; bool p(grade x,grade y){ if(x.c<y.c)return true; else if(x.c==y.c){ int i=0; while(x.d[i]==y.d[i]){ i++; } if(x.d[i]>y.d[i])return true; } return false; } int main() { int n; cin>>n; for(int i=0;i<n;i++){ cin>>gra[i].d>>gra[i].c; } for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(p(gra[j],gra[j+1])){ swap(gra[j],gra[j+1]); } } }for(int i=0;i<n;i++)cout<<gra[i].d<<" "<<gra[i].c<<endl; return 0; }