出书最多

题目链接点击
假定蒜厂新进了 m(10≤m≤999)本图书,它们都是由 n(1≤n≤26) 个作者独立或相互合作编著的。假设 m本图书编号为整数(1 到 999),作者的姓名为字母(′A′'A'′A′到′Z′'Z'′Z′),请根据图书作者列表找出参与编著图书最多的作者和他的图书列表。

输入格式
第一行为所进图书数量 mm,其余 m 行,每行是一本图书的信息,其中第一个整数为图书编号,接着一个空格之后是一个由大写英文字母组成的没有重复字符的字符串,每个字母代表一个作者。

输出格式
输出有多行:

第一行为出书最多的作者字母(如果有多个输出姓名字典序最小的);

第二行为作者出书的数量;

其余各行为作者参与编著的图书编号(按输入顺序输出)。

输出时每行末尾的多余空格,不影响答案正确性

样例输入复制
11
307 F
895 H
410 GPKCV
567 SPIM
822 YSHDLPM
834 BXPRD
872 LJU
791 BPJWIA
580 AGMVY
619 NAFL
233 PDJWXK
样例输出复制
P
6
410
567
822
834
791
233

分析

使用STL容器map存每个作者(字母)出书的数量,并且把书目都存放在作者对应的vector中。
然后排序,排序是按照值从大到小,如果值相同,则按照键从小到大。

补充map排序,放到新的容器vector<pair<char,int> > 中进行排序
比如此处

vector<pair<char,int> > ans(mp.begin(),mp.end());//vector的一种构造,复制map里面的元素

然后进行排序

sort(ans.begin(),ans.end(),cmp);

其中cmp函数实现:

bool cmp(const pair<char,int> &a, const pair<char,int> &b){if(a.second==b.second) return a.first<b.first;//若相等,字典序从小到大 return a.second>b.second;//从大到小
}

AC代码

#include<iostream>
#include<map>
#include<algorithm>
#include<vector>
using namespace std;
const int maxn=100;map<char,int> mp;
//方括号表示 vector 的个数,这里是100个vector
vector< int> v[maxn];//由于大写字母A~Z对应ASCII码值为65-90,此处取maxn=100int n,num;
string s;
//值从大到小排序,相同则键从小到大排序
bool cmp(const pair<char,int> &a,const pair<char,int> &b){if(a.second==b.second) return a.first<b.first;//若相等,字典序从小到大 return a.second>b.second;//从大到小
}
int main(){cin>>n;for(int i=0;i<n;i++){cin>>num>>s;for(int j=0;j<s.size();j++){mp[s[j]]++;//统计作者出书的数量 //cout<<(int)s[j]<<endl;//对应ASCII码值v[s[j]].push_back(num);//把作者相同的书push_back到第(int)s[j]个vector}}vector<pair<char,int> > ans(mp.begin(),mp.end());//构造vector,方便对map排序sort(ans.begin(),ans.end(),cmp);//排序//打印cout<<ans.begin()->first<<endl;//作者 cout<<ans.begin()->second<<endl;//书的数量char head=ans.begin()->first;for(int i=0;i<v[head].size();i++)cout<<v[head][i]<<endl; }

计蒜客1185出书最多相关推荐

  1. 找工作、备考、面试刷题网站推荐(牛客网、力扣、计蒜客、hihocoder、七月在线)以及acm竞赛oj

    不管是找工作笔试面试白板试进大厂,还是研究生参加初试复试,数据结构和算法都是都是重中之重,刷题就很必要,来拿走自己的offer 吧! 一.offer刷题推荐 1.牛客网 链接:牛客网 - 找工作神器| ...

  2. 出书最多--map值排序

    假定蒜厂新进了m(10≤m≤999) 本图书,它们都是由n(1≤n≤26) 个作者独立或相互合作编著的.假设 mm 本图书编号为整数(11 到 999999),作者的姓名为字母('A'到'Z'),请根 ...

  3. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  4. 计蒜客 T1853:非常男女(前缀和)

    上一篇博客计蒜客 T1101:大整数的因子(高精度除法详解)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.这篇博客来记录一下计蒜客T18 ...

  5. 计蒜客--弹簧板 DP--动态规划入门

    1000ms  32768K 有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方. 假设有 n 个连续的弹簧板,每个弹簧板占一个单位距离,a ...

  6. 计蒜客 -- 常用STL题解

    1.计蒜客 – 打印锯齿矩阵 问题描述 锯齿矩阵是指每一行包含的元素个数不相同的矩阵,比如: 3 5 2 6 1 2 3 4 1 6 2 7 读入若干对整数 (x,y),表示在第 x 行的末尾加上一个 ...

  7. 2020蓝桥杯B 组省赛计蒜客模拟赛(一)题解

    2020蓝桥杯省赛 B 组计蒜客模拟赛(一)目录 试题 A:有趣的数字(结果填空) 试题 B:爬楼梯(结果填空) 试题 C:七巧板(结果填空) 试题 D:苹果(结果填空) 试题 E:方阵(结果填空) ...

  8. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

  9. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  10. 计蒜客可以做计算机编程吗,如果你的编程能力不足以支撑你成为工程师的野心,不妨到计蒜客上学学看...

    在人才招聘领域存在这样一个怪圈,高校每年都说是最难就业年.人才过剩,而对于企业HR来说永远都招不到称心如意的人才.这个怪圈在"计蒜客"创始人俞昊然看来,主要是因为当今高校的教学资源 ...

最新文章

  1. 修改mysql的用户名和密码
  2. mysql基础(一) 编译安装mysql5.5
  3. 第九章 线程与内核对象的同步(6)
  4. 深入学习微框架:Spring Boot
  5. unique函数详解
  6. 让工作与(vue)音乐相伴
  7. js的oop方式和this指针问题
  8. LeetCode 1260. 二维网格迁移(二维转一维)
  9. 使用devops的团队_具有DevOps心态的团队的蓝图
  10. Mac终端:pip command not found
  11. Android【报错】Description Resource Path Location Type AndroidManifest.xml file missing!
  12. python tornade 模板扩展
  13. ExtJs教程 3.0
  14. GD32F103VET6替代STM32F103VET6遇到的问题
  15. python中的减号_我的python把减号和破折号混淆了
  16. 皮皮虾php解析,实战PHP皮皮虾无水印解析接口
  17. “accountsservice:依赖: libaccountsservice0(= 0.6.40-2ubuntu11.3)但是0.6.40-2ubuntu11.6已经安装”解决方法
  18. Scrapy 出现DEBUG:Filtered duplicate request
  19. win10计算机丢失msvcr,win10计算机丢失MSVCR120文件怎么办
  20. B端与C端产品有何不同?

热门文章

  1. 自己动手写编译器:实现if判断中“||“和““条件判断的中间代码生成
  2. 圆圈1计算机语言,LOGO编程新理念  画圆和圆弧1★
  3. 知识点学习之LPCNet
  4. 苹果手机怎么查看已连接的wifi密码_WIFI密码忘了?教你查看手机已连接WIFI的密码...
  5. 语言模型(language model)
  6. 微信的那个老外产品经理,又写了一篇《中国移动应用设计趋势》
  7. 基于路径跟随的纯跟踪算法--差速模型
  8. ceph修改osd服务器IP,ceph增加osd流程
  9. java连接打印机_JAVA连接打印机详解(有驱动,无驱动两种方式)
  10. Adam优化算法详细解析