【问题描述】

一级方程式F1锦标赛由一系列称为大奖赛的分站赛组成。每一场比赛的车手都根据他们的最后位置获得积分。只有前10名车手按以下顺序获得分数:25、18、15、12、10、8、6、4、2、1。在锦标赛结束时,得分最多的车手是冠军。如果有平分,则冠军是赢的最多的人(即排位第一)。如果还是平分,则选择得到排位第二最多的人,依此类推,直到没有更多的排位进行比较。

后来又提出了另一个得分制度,其中冠军是赢的最多的。如果有平手,冠军是得分最多的。如果仍然存在平手,则按原来的得分制度进行,即比较第二、第三、第四、…排位的次数。

在本赛季,你会得到所有比赛的结果,你将根据两个得分系统来分别确定冠军。数据保证两套系统都能得到唯一的冠军。

【输入形式】

第一行一个整数t(1<=t<=20),t是分站赛的场次数。之后是每个分站赛的最终排位情况,每个的第一行一个整数n(1<=n<=100)表示排位车手人数,之后n行按排位列出车手的名字,排位从第一到最后,车手的名字为长度不超过50的英文字符,大小写区分。

【输出形式】

输出为两行,第一行为按照原始规则确定的冠军,第二行是按照可选规则确定的冠军。

【样例输入】

3
3
apple
banana
pear
2
pear
banana
2
apple
banana

【样例输出】

banana
apple

【样例说明】
【评分标准】

#include <iostream>
#include <unordered_map>
#include <algorithm>
using namespace std;struct player//每一个选手的情况
{string name;//名字int score = 0;//得分unsigned short rank[101];//0被舍弃,1-100是排名;只能用unsigned short 因为系统环境int测试不过
};bool cmp1(player a, player b)//第一种比较方式
{if (a.score != b.score)return a.score > b.score;elsefor (int i = 1; i <= 100; i++)if (a.rank[i] != b.rank[i])return a.rank[i] > b.rank[i];
}bool cmp2(player a, player b)//第二种比较方式
{if (a.rank[1] != b.rank[1])return a.rank[1] > b.rank[1];else if (a.score != b.score)return a.score > b.score;elsefor (int i = 2; i <= 100; i++)if (a.rank[i] != b.rank[i])return a.rank[i] > b.rank[i];
}int main()
{int t, index = 0, temp;//t是组数,index在map用于给map标对应的位置string name;player players[100];//定义要放在map前,因为map动态分配,这个是固定的,放在map后会被挤掉unordered_map<string, int> maps;unordered_map<int, int> score{{1, 25},{2, 18},{3, 15},{4, 12},{5, 10},{6, 8},{7, 6},{8, 4},{9, 2},{10, 1}};cin >> t;for (int j = 0; j < t; j++){int n;cin >> n;for (int i = 1; i <= n; i++)//i其实就是排名{cin >> name;if (maps.find(name) == maps.end())//找不到的时候就分配一个新的{players[index].name = name;maps[name] = index++;}temp = maps[name];//进行得分操作players[temp].rank[i]++;//对应的排名增加if (i <= 10){players[temp].score += score[i];//前十名得分增加}}}sort(players, players + index, cmp1);//排序输出cout << players[0].name << endl;sort(players, players + index, cmp2);cout << players[0].name << endl;return 0;
}

(CCF模拟)F1方程式冠军相关推荐

  1. I'm stuck! ccf模拟题。

    ccf模拟题. I'm stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S' ...

  2. CCF模拟题-1~5

    报名第九次CCF认证,是为了能参加第二届的CCSP,做了一下题库里的C\C++模拟,发现真是够水了-- 前三题,过于简单,不再赘述,发一下题目和对应答案~~~ 出现次数最多的数 #include &l ...

  3. CCF模拟题——有趣的数详解

    马上就要参加CCF认证考试了,然后最近就在做CCF上的模拟题,我选的语言是java,然后遇到第四题--有趣的数,当时一看题目,卧槽太TM简单了,比第一题和第二题还简单,高兴死我了,然后我就做呗,然后我 ...

  4. CCF 模拟题 有趣的数 (数位DP)

    问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...

  5. 出现次数最多的数-CCF模拟

    问题描述 给定n个正整数,找出它们中出现次数最多的数.如果这样的数有多个,请输出其中最小的一个. 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数. 输入的第二行有n ...

  6. 碰撞的小球 ccf (模拟)

    问题描述 试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐 ...

  7. CCF 模拟题,公共钥匙盒

    题目描述: 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒 ...

  8. FORMULA ONE RACES AHEAD (F1锦标赛全速前进)

    Introduction: Sleek cars race at high speeds as top racecar drivers compete for millions of dollars ...

  9. FORMULA ONE RACES AHEAD (F1锦标赛全速前进)【空中英语】

    Introduction: Sleek cars race at high speeds as top race car drivers compete for millions of dollars ...

  10. CCF认证考试题解目录

    针对历年考题,编写自己的解题程序,在官方网站上提交,了解得分.这个做法可以了解自己的编程水平,找出自己的不足.这样便可以有针对性地改进自己的不足之处,提高考试成绩. 传送门:CCF模拟测试 登录后出现 ...

最新文章

  1. latex教程详细笔记
  2. You C.A.N.大赛 解锁7大行业智能硬件创新密码
  3. log4j配置_是时候了解一下log4j2各种配置的含义了!
  4. 3808. 画正方形——AcWing题库
  5. sp_executesq用法
  6. 更改VS主题及设置背景图片
  7. 螃蟹保存方法保存时间_活面包蟹怎么保存?面包蟹能保存多久
  8. linux网卡驱动内核文件目录,LINUX内核升级更新网卡驱动
  9. python怎么变成黑色_Matplotlib:python2的RGB颜色显示为黑色
  10. 几万年前,孙悟空大闹地府后删库跑路了!那阎王生死簿又该怎么写呢?
  11. 无线电定位系统与技术期末个人总结
  12. 闲山:龙的出现,没有中文字幕怎么办? 自己编程搞一个试试
  13. Java打印实心菱形和空心菱形
  14. oracle 错误代码
  15. ie自带css定位,CSS实现元素相对于浏览器窗口进行定位_css
  16. 拼多多报活动没有流量怎么办 拼多多活动流量少是什么原因
  17. nfs服务共享目录的创建
  18. Stm32_电容式触摸屏- GT9147获取ID
  19. GreenSock引人注目的动画
  20. 音乐外链生成源码php,百度网盘音乐外链源码 | 小楼昨夜又东风

热门文章

  1. xlsx文件 wps 可以打开 excel 打不开
  2. 身份证真伪辨别 Python
  3. 本博客专门用于存放素材的
  4. 20071020ー胡小蝶
  5. 软件测试自动登录、浏览记录方向原理——基于Cookie和Session的区别和应用场景
  6. 重启MySQL报Unit mysqld.service could not be
  7. [SLAM基础学习简记]非线性优化
  8. 人工智能算法(一)进化算法
  9. 智能算法--------------进化计算总结
  10. 计算机机房新风机的作用,你知道机房为什么要装新风系统吗?