提交时间:2024-03-01 18:38:36

运行 ID: 42609

#include<iostream> using namespace std; struct node{ string name; int score; }s[20]; bool cmp(node a,node b){ if(a.score>b.score){ return 1; } else if(a.score<b.score){ return 0; } else{ if(a.name>b.name){ return 0; } else{ return 1; } } } int main() { int n; cin>>n; for(int i=0;i<n;i++){ cin>>s[i].name>>s[i].score; } int a[n]; for(int i=0;i<n;i++){ a[i]=i; } for(int i=0;i<n;i++){ for(int j=i;j<n;j++){ if(cmp(s[j],s[i])==1){ int temp=a[j]; a[j]=a[i]; a[i]=temp; } } } for(int i=0;i<n;i++){ cout<<s[a[i]].name<<" "<<s[a[i]].score<<endl; } return 0; }