【问题描述】

   2018年俄罗斯世界杯结束了,法国获得冠军,全世界球迷度过了一个非常愉快的夏天。作为中国球迷,不能总是看别人踢球,这不福利来了,根据FIFA(国际足联)及全体成员协会的一致决定,2118年世界杯将在中国举办,作为东道主,中国队将无需参加预选赛而直接参加决赛阶段的比赛。

比赛规则如下:

总共n(n为偶数)个球队参加比赛

按照分组赛积分排名,前n/2的球队进入淘汰赛

积分排名的规则如下:球队获胜得3分,平局得1分,失利得0分,按照积分递减、净胜球递减以及进球数递减方式排名

编写一个程序,根据给出的参赛队伍名单和所有比赛的结果,找出成功进入淘汰赛阶段的球队名单。

【输入形式】

   第一行输入包含唯一整数n(1<=n<=50),参加世界杯决赛的球队数量。接下来的n行是各球队的名字,为长度不超过30个字符的英文字符。接下来的n*(n-1)/2行,每行格式name1-name2 num1:num2(0<=num1, num2<=100),表示对阵球队及比分.

【输出形式】

   输入n/2行,表示进入淘汰赛阶段的球队,按照字典序进行排列,每个球队名字占一行。【样例输入】

4
A
B
C
D
A-B 1:1
A-C 2:2
A-D 1:0
B-C 1:0
B-D 0:3
C-D 0:3

【样例输出】

A
D

代码(含注释):

#include<iostream>
#include<string>
#include<algorithm>
//#include<stdio.h> sscanf所在头文件
#include<sstream>
using namespace std;
struct team{string name;int score;int netnum;int num;team():score(0),netnum(0),num(0){}
};
bool compareIn(const team& right,const team& left){if(right.score!=left.score)return right.score>left.score;else if(right.netnum!=left.netnum)return right.netnum>left.netnum;else if(right.num!=left.num)return right.num>left.num;return 0;
}
bool compareOut(const team& right,const team& left){return right.name<left.name;
}int main(){int n;cin>>n;team t[n];for(int i=0;i<n;i++){cin>>t[i].name;}string matchVs,matchScore,name1,name2;string numm1,numm2;stringstream ss;//由于我是使用substr截取的,所以截取下来的数字(进球数)其实是//字符串的数据形式,需要借助stringstream转化为int型int pos,num1=0,num2=0;for(int i=0;i<n*(n-1)/2;i++){cin>>matchVs>>matchScore;pos=0;while(matchVs[pos]!='-')pos++;name1=matchVs.substr(0,pos);name2=matchVs.substr(pos+1,30);pos=0;while(matchScore[pos]!=':')pos++;numm1=matchScore.substr(0,pos);numm2=matchScore.substr(pos+1,30);ss<<numm1;ss>>num1;ss.clear();ss<<numm2;ss>>num2;ss.clear();//43~63是把输入的字符串转化为我们想要的数据 //sscanf(matchVs.c_str(),"%s-%s",&name1,&name2);//sscanf(matchScore.c_str(),"%d:%d",&num1,&num2);//这个地方不知道为什么我用sscanf会导致运行时候出现问题 for(int j=0;j<n;j++){if(t[j].name==name1){t[j].netnum=t[j].netnum+num1-num2;t[j].num=t[j].num+num1;if(num1>num2)t[j].score=t[j].score+3;else if(num1==num2)t[j].score=t[j].score+1;}if(t[j].name==name2){t[j].netnum=t[j].netnum+num2-num1;t[j].num=t[j].num+num2;if(num2>num1)t[j].score=t[j].score+3;else if(num2==num1)t[j].score=t[j].score+1;}}//70~87按输入的数据计算出每个队的情况 }sort(t,t+n,compareIn);sort(t,t+n/2,compareOut);for(int i=0;i<n/2;i++){cout<<t[i].name<<endl;}return 0;
}

欢迎大佬指正 ^ _ ^

ccf练习题 世界杯来了相关推荐

  1. CCF中学生计算机程序设计入门篇练习题讲解

    CCF中学生计算机程序设计入门篇练习题讲解 全部代码下载地址在文末链接 1.温度转换(10001) 2.三角形面积(1002) 3. 猜数游戏(1003) 4.矩形填充(1004) 5.存款收益(10 ...

  2. HDU 1422 重温世界杯 【C++练习题】

    重温世界杯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  3. CCF认证练习题-西西艾弗岛的购物中心

    西西艾弗岛的购物中心里店铺林立,商品琳琅满目.为了帮助游客根据自己的预算快速选择心仪的商品,IT 部门决定研发一套商品检索系统,支持对任意给定的预算 x,查询在该预算范围内(≤x)价格最高的商品.如果 ...

  4. CCF认证训练行动路线图

    通过CCF认证的训练题选自三个方面,一是CCF认证试题,二是使用北大百练的练习题等等,三是ACM-ICPC的练习题. CCF认证的试题是必须练习的,通过CCF试题的练习有助于了解试题风格特点.然而CC ...

  5. 2022 CCF中国开源大会—开放原子开源创新发展论坛即将开幕

    开源已经成为全球数字科技创新发展的大趋势."行业发展,人才先行",开源生态的繁荣发展,离不开人才的培育.推进开源教育.建立产学研一体化开源创新人才培养体系显得至关重要.开放原子开源 ...

  6. OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”

    11 月 14 日,2022 年度"CCF王选奖" 评选结果公布,蚂蚁集团副总裁. OceanBase 首席科学家阳振坤博士 入选.   "CCF王选奖" 由中 ...

  7. python练习题__基础输入输出

    python练习题__基础输入输出 目录 一.基本变量输出 1.输出字符串Hello World! 2.多行输出字符串 3.读入字符串 4.读入整数数字 二.格式化输出 5.按格式输出相应的英文句子 ...

  8. Python练习题__目录(更新中。。。)

    Python练习题__目录 人生有时真的很无助,特别是当社会走向了极端,当我们一无所知地憧憬着美好的未来时,却不知原本属于我们生来就拥有的一切,会被某些...暗中窥视后强行夺走(亲人.健康.技术.生命 ...

  9. python练习题__列表

    python练习题__列表 (1).访问列表中第一个元素的值 题 目: mlist1 = ['Adversity Awake:', 'Cross ', 'the', 'stars', 'over', ...

最新文章

  1. CSS左中右布局,规范案例
  2. wxWidgets:wxContextHelp类用法
  3. Robberies HDU - 2955
  4. @class、#import
  5. 寻找 K8s 1.14 Release 里的“蚌中之珠”
  6. websocket 连接本地端口_Web应用架构WebSocket 协议介绍
  7. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-Web版本工作流部分业务处理界面与查看界面全新展示...
  8. 二维特征分类的基础_3D 分割分类总结
  9. NYOJ--13--Fibonacci数
  10. apache 压缩html,Apache开启Gzip压缩设置方法
  11. 消息中间件RabbitMQ 初探
  12. cad转excel插件c2e_CAD表格互转EXCEL插件(CAD和EXCEL表格互转工具)V1.1 最新版
  13. 500报错及故障排除
  14. FPGA + labwindows/CVI 2017 串口通信 电子钟
  15. 如何设置html背景,如何给html设置背景
  16. QT 输入框禁止window10触摸屏弹出键盘
  17. tda7415c参数_TDA7541TDA7415调试小结
  18. 有点儿累了,最近特别能吃
  19. 手把手教你用Vscode Debugger调试代码
  20. python画神经网络结构图_神经网络结构画图

热门文章

  1. iphone如何最快已读全量未读短信
  2. 结构预测、功能注释、分子对接 —— 这个网站全包了
  3. 合并/拆分 Excel?Python、VBA轻松自动化
  4. 【秋招计划】 15日~18日重邮秋季校园招聘宣讲会计划
  5. Husky仿真环境配置
  6. 三招搞定你的ubuntu安全问题
  7. 游戏翻译工具截屏翻译工具源代码 图片单词识别
  8. 浅谈AutoCAD下载安装的那些三两事!
  9. sql语句执行效率测试的sql语句。
  10. 真是亲生的,但亲子鉴定为何失败?