Run ID:148258

提交时间:2026-02-10 16:22:52

#include<bits/stdc++.h> using namespace std; struct student { string d; int c; }gra[101]; bool cmp(student x,student 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-i-1;j++){ if(cmp(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; }