ccf练习题 F1方程式冠军
F1方程式冠军
【问题描述】
一级方程式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<string>
#include<algorithm>
using namespace std;
struct competitor{string name;int score;int rank[100];competitor():score(0){}
};
bool comparePlan1(const competitor& right,const competitor& left){if(right.score!=left.score)return right.score>left.score;elsefor(int i=0;i<100;i++){if(right.rank[i]!=left.rank[i])return right.rank[i]>left.rank[i];}return 0;
}
bool comparePlan2(const competitor& right,const competitor& left){if(right.rank[0]!=left.rank[0])return right.rank[0]>left.rank[0];else if(right.score!=left.score)return right.score>left.score;elsefor(int i=1;i<100;i++){if(right.rank[i]!=left.rank[i])return right.rank[i]>left.rank[i];}return 0;
}
int main(){int n;cin>>n;competitor com[2000];int x=0,record=0,match[n],mark[10]={25,18,15,12,10,8,6,4,2,1};string join;for(int i=0;i<n;i++){//输入每个场的参赛人数 cin>>match[i];for(int j=0;j<match[i];j++){cin>>join;//依次输入参赛人员record=0; for(int k=0;k<x;k++){if(com[k].name==join){if(j<10)com[k].score=com[k].score+mark[j];com[k].rank[j]++;record++;break;}}//在已有参赛人员中寻找,若已有则进行标记 if(record==0){com[x].name=join;if(j<10)//com[x].score=mark[j];else com[x].score=0;for(int ii=0;ii<100;ii++)com[x].rank[ii]=0;com[x].rank[j]++;x++;}//已有参赛人员中没有,则新输入一个 }}sort(com,com+x,comparePlan1);cout<<com[0].name<<endl;sort(com,com+x,comparePlan2);cout<<com[0].name<<endl;return 0;
}
ccf练习题 F1方程式冠军相关推荐
- ccf练习题 世界杯来了
[问题描述] 2018年俄罗斯世界杯结束了,法国获得冠军,全世界球迷度过了一个非常愉快的夏天.作为中国球迷,不能总是看别人踢球,这不福利来了,根据FIFA(国际足联)及全体成员协会的一致决定,2118 ...
- FORMULA ONE RACES AHEAD (F1锦标赛全速前进)
Introduction: Sleek cars race at high speeds as top racecar drivers compete for millions of dollars ...
- FORMULA ONE RACES AHEAD (F1锦标赛全速前进)【空中英语】
Introduction: Sleek cars race at high speeds as top race car drivers compete for millions of dollars ...
- 第十六届全国大学生智能车竞赛报名信息统计
§01 信息处理 一.信息来源 处理信息来自于8月24日 智能车竞赛网站 的报名信息导出的EXCEL表格.这是参加第16届智能车竞赛竞速组别的队伍报名信息.不包括参加"三个创意组别" ...
- 纽曼皮尔逊准则Matlab实现,纽曼-皮尔逊准则,Neyman Pearson Criterion,在线英语词典,英文翻译,专业英语...
胡安·曼纽尔·方吉奥(阿根廷) 世界冠军 - 1951, 1954-1957 参加大奖赛次数: 51 赢得分站赛冠军次数: 22 赢得杆位数: 27 很多人都把方吉奥看作是最伟大的车手.在整整七个赛季 ...
- 10招教你建立好团队
一个好团队并不单纯是一群人才的集合. 研究表明建立高产团队的重要因素通常不像大家认为的那么显而易见,而且有悖于传统智慧.推荐创业者都读一读: 1)别光看才智,也要看社交技能 怎样才能有一个聪敏的团队? ...
- 第十六届全国大学智能车竞赛华南赛区成绩汇总
简 介: 第十六届全国大学生智能车竞赛华南赛区(不包括广东省)在桂林电子科技大学举行,各组别成绩以及奖项内容在本文中给出. 关键词: 智能车竞赛,华南赛区 §01 各组成绩 一.基础四轮组 学校 队伍 ...
- re:Invent解读:没想到你是这样的AWS
导语:我们该用一个什么词来准确地形容 AWS 这个云计算的鼻祖?"天生骄傲"这四个字也许更能概括:第一家云计算厂商.公有云市场占有率第一.云计算的标杆与风向标--AWS 有足够骄傲 ...
- Java即时编译器JIT之简单介绍
本文源于深入Java虚拟机一书,提取部分骨干内容,算是读书笔记吧. 问题: 为何JVM需要使用解释器和编译器并存的架构? JVM为什么要实现两个不同的即时编译器? 程序何时会使用解释器执行?何时会使用 ...
- 机器学习笔记——从手写数字识别开始
文章目录 前言 关于这篇博客(预计八月下旬全部完成) 关于项目实现 监督学习 ANN全连接神经网络的实现 1.总述 2.初始化 3.传播及损失 4.反向传播 决策树以及随机森林的实现 1.总述 2.单 ...
最新文章
- Sharding-jdbc教程:Springboot整合sharding-jdbc实现读写分离
- LeetCode 136. Single Number--异或--Java,C++,Python解法
- bs架构与cs架构的区别_Oracle vs Mysql--架构、sql查询执行流程及SQL解析顺序区别说明...
- 《领域特定语言》一2.3DSL的问题
- Partition List
- textarea标签内容为(英文或数字不自动换行)的解决方法
- MySQL 如何利用做排序
- 目标检测常用数据集格式
- android monkey压力测试,Android-Monkey 压力测试
- linux ssh 插件,玩转VSCode插件之Remote-SSH的使用情况
- Android连续点击多次事件的实现
- python:画图调整图例位置
- 【论文笔记】多智能体强化学习值分解基础论文5篇
- 统计功效(power)
- 如何将PDF转换成jpg图片?教你2种免费方法
- 618网购盛宴即将开启,云联络中心+AI成为电商的“新基建”
- 树莓派4B系统搭建(超详细版)
- 数据基础设施创新如火如荼,主要方向有哪些(下)
- gt、lt、ge、le、eq、ne的含义
- python模拟按键包_今天玩点啥:利用python之PyUserInput实现模拟鼠标键盘操作,抢红包?聊天?自动下载?...