博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
电话聊天狂人
阅读量:6272 次
发布时间:2019-06-22

本文共 1225 字,大约阅读时间需要 4 分钟。

 电话聊天狂人

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

输入格式:

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

输出格式:

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

输入样例:

413005711862 1358862583213505711862 1308862583213588625832 1808792583215005713862 13588625832

输出样例:

13588625832 3

set的使用让我提高了很多,虽然不是很完美的代码,慢慢写吧

#include
#include
#include
using namespace std;map
x;//用long long代替string,提高效率set
t;int main(){ long long a,b,min; int n,k=1; cin>>n; cin>>a>>b; t.insert(a);//把a放入set中 t.insert(b); x[a]=1; x[b]=1; if(a>b) min=a; else min=b; while(--n) { cin>>a>>b; x[a]++; x[b]++; if(x[a]>x[min]) { min=a; k=1; t.clear(); t.insert(min);//先把set清空,再把min放入,防止电话号码的重复 } else if(x[a]==x[min]&&!t.count(a)) { t.insert(a); k++; if(a
x[min]) { min=b; k=1; t.clear(); t.insert(min); } else if(x[b]==x[min]&&!t.count(b)) { t.insert(b); k++; if(b
1) cout<
<<" "<
<<" "<
<

 

转载于:https://www.cnblogs.com/mayouyou/p/8562859.html

你可能感兴趣的文章
照片筛选与上传功能
查看>>
Hello ZED
查看>>
常见web攻击方式
查看>>
hdu 4472
查看>>
oracle存储过程中is和as区别
查看>>
windows 2003 群集
查看>>
几个gcc的扩展功能
查看>>
Spark一个简单案例
查看>>
关于结构体占用空间大小总结(#pragma pack的使用)
查看>>
通过浏览器查看nginx服务器状态配置方法
查看>>
shell简介
查看>>
android 使用WebView 支持播放优酷视频,土豆视频
查看>>
怎么用secureCRT连接Linux
查看>>
C# 使用WinRar命令压缩和解压缩
查看>>
linux学习笔记一----------文件相关操作
查看>>
Mono for Android 优势与劣势
查看>>
服务器端开发技术
查看>>
Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
查看>>
ajax提交多个对象,使用序列化表单和FormData
查看>>
深入分析由前序和中序重构二叉树问题
查看>>