ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

42.出书最多

2021-08-08 14:33:06  阅读:194  来源: 互联网

标签:int 出书 42 作者 输入 编著 图书


42:出书最多

描述

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

输入

第一行为所进图书数量m,其余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

代码

#include<bits/stdc++.h>
using namespace std;

struct book
{
    int no;
    string name;
}a[1000];

int main()
{
    int m;
    cin >> m;
    for(int i=0;i<m;i++)
    {
        cin >> a[i].no;
        cin >> a[i].name;
    }
    map<char,int> mp;
    for(char i='A';i<='Z';i++)
    {
        mp[i]=0;
    }
    //find
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<a[i].name.size();j++)
        {
            mp[a[i].name[j]]++;
        }
    }
    //找到最大的字母
    char res;
    int max=0;
    for(char i='A';i<='Z';i++)
    {
        if(mp[i]>max)
        {
            max=mp[i];
            res = i;
        }
    }
    //search
    int sum=0;
    vector<int> vt;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<a[i].name.size();j++)
        {
            if(a[i].name[j]==res)
            {
                sum++;
                vt.push_back(a[i].no);
                break;
            }
        }
    }
    //print
    cout << res << endl;
    cout << sum << endl;
    for(int i=0;i<vt.size();i++){
        cout << vt[i] << endl;
    }
    return 0;
}

标签:int,出书,42,作者,输入,编著,图书
来源: https://www.cnblogs.com/jifenxiaobawang/p/15114842.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有