欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2024/2/28 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 电话聊天狂人 (25 分)【简便解法】 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

立志用最少的代码做最高效的表达


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

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

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

输入样例:
4
13005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832

输出样例:
13588625832 3


#include<iostream> #include<map> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int main() {ios::sync_with_stdio(false); map<long long, int>um;int n; cin >> n;int MAX = -1;for(int i = 0; i < n; i++) {long long x1, x2; cin >> x1 >> x2;um[x1]++, um[x2]++;MAX = max(MAX,max(um[x1],um[x2]));}int num_p = 0;for(auto i : um) {if(i.second == MAX) {if(num_p == 0) cout << i.first << ' ' << i.second;num_p++;}}if(num_p > 1) cout << ' ' << num_p;return 0; }

耗时


弱小和无知不是生存的障碍,傲慢才是。       ——《三体》

总结

以上是生活随笔为你收集整理的电话聊天狂人 (25 分)【简便解法】的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。