博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找最大重复次数的数和重复次数(C++ Pair)
阅读量:5316 次
发布时间:2019-06-14

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

Problem A: 第一集 你好,世界冠军

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 265  Solved: 50
[][][]

Description

 “我宣布,第十届国际程序设计竞赛现在开始!本次比赛时间为9点到14点……”伴随着大赛主席的宣布,一场体现现今最高编程水平的大赛正式拉开帷幕。

    距比赛现场有十几公里远的地方,有一个少年名叫小A的还在睡觉。这是一场让他盼望很久的比赛,只是昨晚太兴奋了。不过一切还不算太晚,这个比赛是5个小时,允许迟到的。
    “几点了现在~”睡眼朦胧间看了下手机。“啊!都11点啦!……”只见他像弹簧一样从床上弹起来,穿下衣服拿起书包就出门去了。没错,你说对了,他没有刷牙洗脸,这也是他一向的作风,不拘小节~
    “本次比赛的规则是有很多道题目,每个选手有个比赛号码,每道题目都只记录第一个做出题目的参赛者编号,最后按照参赛者编号的记录数排名……”组委会在说明比赛规则。
    过了许久,小A急匆匆冲进大赛门口,“嘭~哎哟~”,小A撞到了一位女生。这名女生名叫小C,是校报的记者。“会不会走路啊!走路都不长眼!”小C生气地骂道,一边打量着这位邋里邋遢的男生心想“码农也就这幅德性,不跟他一般见识”,一边捡起她的单反。小A本来还是睡意朦胧,立马清醒了过来,连忙道歉,朝小C看去,只见一头飘逸的长发里藏着一张秀气的脸,虽然是在生气,但是看起来更可爱了。小A不由内心一动,不过更着急的还是比赛,刚要动身进入场地,就被小C喊住了,“站住!我的单反好像被你撞坏了!”。小A哪顾得上这个,就说“比赛完我拿奖金赔你就是~”。小C鄙视到“大言不惭,我等着看你被人虐!”
    
广告时间:喜太多提醒现在是有奖问答时间,请你编程找出本届冠军是谁哦!剧中比赛全球大学生都参加了编号从-10^9到10^9,不要问我比赛场地能不能坐下,这是全球同步比赛,结果汇总在一起的。总共题目数可达10万道。给你题目数N,和N个编号,每个编号是指这道题目第一个做出来的参赛者编号,求出出现次数最多的编号和次数,次数相同输出编号最小的。具体格式见样例。
    比赛时间总是过得很快,“10、9、8、7……”随着裁判员的倒计时,比赛结束了。接下来是紧张的公布结果时间。
    “好消息!本次比赛的世界冠军在我们赛区!”组委会宣布了一个另全场震惊的结果!大家议论纷纷,猜测这个人会是谁呢?小C那是既兴奋又生气,兴奋的是可以跟世界冠军面对面采访,生气的是可恶的小A把采访设备摔坏,不能拍照留念,校报没有照片怎么办。
    很快,颁奖典礼开始了,“现在有请我们的世界冠军起来领奖,奖金100块和一本《挑战程序设计竞赛》,他就是小A!”,全场沸腾,想一睹冠军风采!
    冠军缓缓走上奖台,小C定睛一看,“这不是那个撞我的男生吗?原来是他,终于找到了……”
    “请冠军说说获奖感言!”主持人说到。
    “本来是没有想得到这个冠军的,可是为了赔一个女生的单反就只好拿了冠军,可突然发现拿了冠军又能怎样呢?……”,全场同情。
    颁奖典礼完毕后,小A找到了小C要赔她单反,小C故作镇定说到,“小子看不出来还挺厉害的嘛,我是校报记者叫小C,那你留个电话给我吧,到时候给我单反我顺便也采访你一下。”小A当然很乐意啦,留完电话小A就被人群包围住了,小C只好默默离开了……
 

Input

 输入包括多组测试数据

每组测试数据的第一行是一个数字n表示题目数(0<n<=100000)
然后是n个整数表示第一次做出题目的参赛者编号,每个编号在[-10^9,10^9]内

Output

 对于每组测试数据输出2个数,分别表示出现最多次的数和它出现的次数。(如果有多个同样次数的数,输出最小的那个)

Sample Input

51 2 1 2 3

Sample Output

1 2
1 /***********************************************************************************/ 2 水题,用这题目来尝试下Pair二元组的使用二元,可以忽略不看 3 包含:#include
且 algorithm 和 map 也包含了这个头文件 4 pair
Sum[100005];/*定义二元组的数组*/ 5 Sum.first;/*第一个元素,自己赋予含义即可*/ 6 Sum.second;/*第一个元素,自己赋予含义即可*/ 7 pair
a,int>SUM[100005];/*二元组可以嵌套使用*/ 8 SUM.pair.first;/*第一个元素,自己赋予含义即可*/ 9 SUM.pair.second;/*第一个元素,自己赋予含义即可*/10 /***********************************************************************************/11 #include
12 #include
13 #include
14 #include
15 #include
16 using namespace std;17 int MAX_NUM,Max;18 void Judge(pair
Sum) /*判断结果*/19 {20 if(Max<=Sum.second)21 {22 MAX_NUM=Sum.first;23 Max=Sum.second;24 }25 return ;26 }27 int main()28 {29 SUM.pair.30 int T,sign;31 int Num[100005];32 while(scanf("%d",&T)!=EOF)33 {34 sign=-1;Max=1;35 pair
Sum[100005]; /*定义二元组,first记录点的大小,second记录点的次数*/36 for(int i=0;i
=0;i--)40 {41 if(i==T-1||(Sum[sign].first!=Num[i]))/*点不一样,进行判断和记录新的一个点*/42 {43 if(sign>=0)44 Judge(Sum[sign]); /*判断*/45 sign++;46 Sum[sign].first=Num[i]; /*对下个记录的点初始化*/47 Sum[sign].second=1; /*对下个记录的点初始化*/48 }49 else50 {51 Sum[sign].second++; /*点一样,记录的点数加1*/52 }53 if(i==0)Judge(Sum[sign]); /*需要特判*/54 }55 printf("%d %d\n",MAX_NUM,Max); /*输出出现的次数最多的点的大小和其所出现的次数*/56 }57 return 0;58 }
View Code

 

转载于:https://www.cnblogs.com/Wurq/p/4427423.html

你可能感兴趣的文章
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
云计算数据与信息安全防护
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
Java面向对象重要关键字
查看>>
课后作业-阅读任务-阅读提问-2
查看>>