CCF - 欧洲冠军联赛
【问题描述】
冠军联赛通常被誉为世界上最具影响力的俱乐部级活动。在比赛的小组阶段,欧洲的每个足球俱乐部分为八组,每组中有四支球队。每个组中的团队按以下规则进行排序:
球队将根据游戏的结果赢得积分。游戏的双方都称为主队和客队。如果一个党的进球比另一个进球更多,那么一个目标最多的一个目标将获得3分,而另一方将获得0分。如果双方都领带,则每场比赛得分为1分。
球队的进球差异是得分的进球数量减去了承认的进球数量(不考虑球队在比赛中还是在比赛中)。
高分的团队排名更高。
如果两支球队的分数相同,那么目标差最高的球队排名最高。
小组中的球队进行了一场循环赛,也就是说,每两个球队之间都在两场比赛中进行两场比赛,而双方则作为主队。鉴于一个小组中12场比赛的结果,请求该小组的合格团队:也就是说,两个球队排名第一和第二。
保证答案是独一无二的。
【输入表格】
输入的第一行包含一个整数t,代表测试数据组的数量。接下来是T组数据。
每组数据中有12行,每行描述了一个游戏,格式是:“主队名称,主队目标与外客队目标,客场球队名称”,其中“主队名称”和“目标团队名称” “角色是这两个球队在这场比赛中得分的进球数量是两个球队得分的进球数。
1≤t≤50
团队名称仅包含小写英文字母
团队名称不超过10个字符
0≤进球数≤100
【输出形式】
对于每组数据,输出一行包含两个字符串,代表第一和第二个团队的团队名称。
【样品输入】
曼努特8对2阿森纳
里昂1与2曼特
fcbarca 0 vs. 0里昂
FCBARCA 5与1阿森纳
Manutd 3与1 fcbarca
阿森纳6与0里昂
阿森纳0 vs. 0
曼努特4与2里昂
阿森纳2与2 fcbarca
里昂0与3 fcbarca
里昂1与0阿森纳
fcbarca 0 vs. 1
A 3与0 B
a 0 vs. 0 c
A 0 vs. 0 D
b 0 vs. 0 a
b 4 vs. 0 c
B 0 vs. 0 D
C 0 vs. 0 A
c 0 vs. 0 b
C 1 vs. 0 D
D 3与0 A
D 0 vs. 0 b
D 0 vs. 0 c
【样品输出】
Manutd fcbarca
DB
【样本说明】
第一组数据:每个团队的要点和目标差异是:
曼努特:16分,12个进球。
曼努特:8分,4个进球。
曼努特:5分,进球差-5。
曼努特:4分,目标差-11。
第二组数据:每个团队的点和目标差异是:
D:7分,2个进球。
B:7分,1个进球差。
答:7分,0个进球。
C:7分,目标差-3。
(代码在最后,让我们先分析)
首先,有四支球队。有关团队的信息包括:团队名称 - 字符串名称;团队积分 - 得分;团队目标差异 - int ncount;因此,请考虑使用结构,有四个团队团队,因此请使用结构阵列。
struct Team
{
string name;
int score;
int ncount;
};
Team team[4];
那么,我需要考虑的是如何区分该团队在结构数组中。我在这里考虑的是使用地图。这主要是因为地图中的元素不能反复出现,这可以满足我的需求。
map<string a, int b> maps;
maps.count(element)//是返回被查找元素的个数。因为map不存在相同元素,所以返回值为0或1
maps.find(elemeent)//是返回被查找元素的位置,没有则返回map.end()
//这里我们是要判断元素是否出现过,这两个都可以用
这是对地图的简要介绍:
地图的定义
map<T1,T2> maps;
定义一个名为T1类型T2的地图,最初为空;
MAP是一个关联容器,类似于数学中的映射,它指的是两个元素之间的对应关系。地图中的元素是一些关键字值对,关键字起着索引角色。它指示与关键字关联的数据。
我们可以通过关键字检索值:
#include
#include
using namespace std;
int main(){
map<string,int> maps;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系本站,一经查实,本站将立刻删除。如若转载,请注明出处:https://www.mlmtt.com/html/tiyuwenda/6199.html