电话聊天狂人 (25 分)【简便解法】
生活随笔
收集整理的这篇文章主要介绍了
电话聊天狂人 (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 分)【简便解法】的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 整型关键字的平方探测法散列 (25 分)
- 下一篇: 【已解决】Error attaching