专栏文章
B2159 成绩排序题解
B2159题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miopd2aj
- 此快照首次捕获于
- 2025/12/02 22:58 3 个月前
- 此快照最后确认于
- 2025/12/02 22:58 3 个月前
思路
本题可以用vector<pair<string,int>>数组,前项存姓名,后项存分数。如果后项不同,返回分数高的;否则返回姓名字典序小的。第27行这里的auto类型其实是pair<string,int>,输出排序后数组里的元素即可。(听懂点赞)
代码
CPP#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(pair<string,int> a,pair<string,int> b)
{
if(a.second != b.second)
{
return a.second > b.second;
}
return a.first < b.first;
}
int main() {
int n;
cin >> n;
vector<pair<string,int>> v(n);
for(int i = 0;i < n;i++)
{
cin >> v[i].first >> v[i].second;
}
sort(v.begin(),v.end(),cmp);
for(auto c : v)
{
cout << c.first << ' ' << c.second << '\n';
}
return 0;//hhh
}
禁止抄袭
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...