-->
当前位置:首页 > 题库

编程题:给朋友排序。

Luz3年前 (2022-12-04)题库569

每个魔法师都会有N个朋友,每个人的名字都由“姓”和“名”两部分组成。你需要把他们按照姓的“流行程度”(即拥有该姓的朋友人数)从大到小排序,姓的流行程度相同的朋友按照他们在原始名单中出现的顺序排序。

### 输入格式:

输入包含若干行,即排序前的原始序列。每行包含一个朋友的姓和名,中间用一个空格隔开,朋友的数目保证不超过50000,每行为3到50个字符之间,且只包含大写字母和一个空格(行首行末无空格)。



### 输出格式:

输出有若干行,即排序后的序列,每行包括一个朋友的姓和名,中间用一个空格隔开。

### 输入样例:

在这里给出一组输入。例如:

in
ZHANG SAN
LI SI
WANG WU
WANG LIU
WANG QI
ZHANG WU
LI WU



### 输出样例:

在这里给出相应的输出。例如:

out
WANG WU
WANG LIU
WANG QI
ZHANG SAN
LI SI
ZHANG WU
LI WU








答案:若无答案欢迎评论

基本思路就是利用结构体定义string型(方便比较大小)的姓和名,再定义一个出现的位置(方便姓出现次数相同时,可以按默认顺序排),利用map容器表示姓和姓出现的次数,最后用sort排序输出就行了。