1 条题解
-
1
题意
给定n个姓名和分数,先按分数从大到小排序,如有相同分数,就按姓名的字典序从小到大排序。
其实题意是用来凑字数的过程
这道题丝毫不愧对它前面的【基础】二字,用结构体排序就行了。
AC代码如下:
#include<bits/stdc++.h> using namespace std; struct node{ string name; int s; }a[25];//n<=20,开25够了 bool cmp(node a,node b){ if(a.s!=b.s) return a.s>b.s; //注意这里一定要判一下a.s!=b.s else return a.name<b.name; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i].name>>a[i].s; sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ cout<<a[i].name<<" "<<a[i].s<<endl; } //记得有空格和换行 return 0; }
- 1
信息
- ID
- 28
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 156
- 已通过
- 50
- 上传者