给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。

输入格式:

输入首先给出正整数N(≤10​5​​),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。

输出格式:

在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。

输入样例:

4
13005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832

输出样例:

13588625832 3

这里使用map这种结构,有一个技巧就是在插入的时候,就求出通话次数最多的人,这样第二次遍历的时候,在统计并列狂人的个数以及输出字典序最小的数

#include <iostream>
#include <string>
#include <map>static int n = []() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);return 0;
}();int main()
{std::map<std::string, int> mp;int n;std::cin >> n;std::string s1, s2;int resK = 0;for (int i = 0; i < n; i++) {std::cin >> s1 >> s2;mp[s1]++;mp[s2]++;if (mp[s1] > resK)resK = mp[s1];if (mp[s2] > resK)resK = mp[s2];}std::string res;int number = 0;for (auto iter = mp.begin(); iter != mp.end(); ++iter) {if (iter->second == resK) {number++;if (number == 1)res = iter->first;else if (number>1 && iter->first < res)res = iter->first;}}if (number==1)std::cout << res << " " << resK << std::endl;elsestd::cout << res << " " << resK << " " << number << std::endl;}

C++ mp经典应用 电话聊天狂人 (25 point(s))相关推荐

  1. 7-3 电话聊天狂人 (25 分)

    暑假字符串专题HBU程序设计训练营总结 ?点这里 7-3 电话聊天狂人 (25 分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10​5​​),为 ...

  2. 7-1 电话聊天狂人 (25分) PTA 数据结构

    7-1 电话聊天狂人 (25分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10 ​5 ​​ ),为通话记录条数.随后N行,每行给出一条通话记录. ...

  3. 7-14 电话聊天狂人 (25 分)map做法 + 详解 + 思路分析

    7-14 电话聊天狂人 (25 分)map做法 1:题目 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10 ​5 ​​ ),为通话记录条数.随后N行 ...

  4. 5-14 电话聊天狂人 (25分)/PTA

    5-14 电话聊天狂人   (25分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数NN(\le 10^5≤10​5​​),为通话记录条数.随后NN行,每 ...

  5. 5-14 电话聊天狂人 (25分)

    5-14 电话聊天狂人 (25分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤105≤ 10^5​​),为通话记录条数.随后N行,每行给出一条通话 ...

  6. 11-散列1 电话聊天狂人 (25 分) (C语言)

    浙大版<C语言程序设计实验与习题指导(第3版)>题目集 11-散列1 电话聊天狂人 (25 分) 二.题解 c代码 11-散列1 电话聊天狂人 (25 分) 给定大量手机用户通话记录,找出 ...

  7. 11-散列1 电话聊天狂人 (25 分)

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的 ...

  8. 7-14 电话聊天狂人 (25 分)

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10​5​​ ),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的1 ...

  9. 7-14 电话聊天狂人 (25分)

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10^​5​),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11 ...

  10. 电话聊天狂人 (25 分)【简便解法】

    立志用最少的代码做最高效的表达 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10^5),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这 ...

最新文章

  1. 第一个java_第一个java程序
  2. 机器学习知识点(三)方差和标准差Java实现
  3. POI各Jar包的作用
  4. 5界面怎么做窗帘拉动的效果_别让土味窗帘毁了你的家
  5. Linux安装docker-compose 1.27.4
  6. 华三路由交换配置命令_华三路由器交换机配置命令
  7. 纠结学哪种编程语言?请看这个回答
  8. 【POJ - 3272】Cow Traffic(dp,建反向图,DAG拓扑图)
  9. 查看oracle中各个表空间的已使用空间和最大分配空间
  10. POJ 3159 Candies 差分约束dij
  11. 初等函数导数公式 ,积分表
  12. SAP系统 会计科目主数据详解
  13. WP Engine开发人员工具的好处
  14. centos 关于“Error: Failed to download metadata for repo ‘appstream‘” 问题
  15. 2023美国大学生数学建模竞赛(美赛)思路代码
  16. 读《IDEO,设计改变一切》有感
  17. 关于vue3的两种API写法——选项API和组合API
  18. 基于运放的电压放大电路设计
  19. [转]电影《不可征服》里的一首诗
  20. 594. 最长和谐子序列

热门文章

  1. COD测定仪监控水污染程度,保证安全用水!
  2. 美国精准农业应用现状
  3. cfr java_Java反编译工具CFR,Procyon简介
  4. 传真通讯趋向数字化发展
  5. 安卓开发学习笔记01_布局
  6. cocos2dx-lua 热更新基础详解
  7. 三菱PLC 控制灯一秒钟交替闪烁
  8. 检查计算机课存在的问题,信息技术课堂存在的问题及应对策略
  9. 订单支付倒计时,ios手机无效怎么办
  10. 如何处理报表中的舍位平衡