【问题描述】

火星人足球赛的比赛规则与地球人的比赛规则有些非常相似,比如严重犯规,将被给予黄牌警告,特别严重的犯规,将给予红牌直接罚下,如果有人得到第2张黄牌,则自动获得红牌罚下,比赛同样采取主客场制。

与地球人足球赛不同的是,火星人足球赛每队可以上场的人数不会固定为11人,可以多个人,比赛时间也会更长一些。

比赛时的裁判员是机器人,判罚非常严厉,如果有人获得红黄牌,机器人裁判将自动记录当时的情况。

【输入形式】

输入的第一行为主队队名,第二行为客队队名,队名的长度不超过20个字符。

第三行为一个整数 n (0 ≤ n ≤ 90) ,表示得到红黄牌的犯规次数。

接下来的n行,每行包含用空格分隔的4个部分,表示犯规的情况:

  • 首先为一个整数,表示犯规的时间(分钟)

  • 接着为一个字符"h"或"a",如果为"h",表示该张牌会给到主队球员,否则会给到客队球员

  • 接下来为球员编号m  (1 ≤ m ≤ 99)

  • 接下来为一个字符"y"或"r",如果为"y",表示为黄牌,否则为红牌

不同球队的球员可能有相同的号码,在同一球队球员的号码不相同,犯规记录按时间顺序排列。

【输出形式】

输出按时间顺序排列的获得红牌的记录,如果时间相同,则主队排在前面,如果同一时间同一球队有多人获得红牌,则编号大的排在前面。每个红牌一行,包含3个部分:球员所属球队的名字、犯规球员编号、获得红牌时间。

如果全场比赛无红牌,输出"No Red Card"
【样例输入】

MC
CSKA
9
28 a 3 y
62 h 25 y
66 h 42 y
70 h 25 y
77 a 4 y
79 a 25 y
82 h 42 r
89 h 16 y
90 a 13 r

【样例输出】

MC 25 70
MC 42 82
CSKA 13 90

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

#include<bits/stdc++.h>
using namespace std;
struct member{int time;char place;int num;char color;int score;
};
bool cmp(member x,member y)
{if(x.time!=y.time){return x.time<y.time;}if(x.time==y.time){return x.place=='h'||(x.num>y.num&&(x.place==y.place));}
}
int main()
{string zd,kd;cin>>zd>>kd;int n;cin>>n;member arr[n];int sum1[100];int sum2[100];fill(sum1,sum1+100,0);fill(sum2,sum2+100,0);member cnt[n];int k=0;for(int i=0;i<n;i++){cin>>arr[i].time>>arr[i].place>>arr[i].num>>arr[i].color;if(arr[i].color=='y'&&arr[i].place=='h'){sum1[arr[i].num]++;if(sum1[arr[i].num]==2){cnt[k]=arr[i];k++;}}if(arr[i].color=='y'&&arr[i].place=='a'){sum2[arr[i].num]++;if(sum2[arr[i].num]==2){cnt[k]=arr[i];k++;}}if(arr[i].color=='r'){cnt[k]=arr[i];k++;}}if(k==0){cout<<"No Red Card"<<endl;return 0;}sort(cnt,cnt+k,cmp);for(int i=0;i<k;i++){if(cnt[i].place=='h'){cout<<zd<<" ";}else{cout<<kd<<" ";}cout<<cnt[i].num<<" "<<cnt[i].time<<endl;}system("pause");return 0;
}

结构体 5.火星人足球赛相关推荐

  1. Gin 框架学习笔记(02)— 参数自动绑定到结构体

    参数绑定模型可以将请求体自动绑定到结构体中,目前支持绑定的请求类型有 JSON .XML .YAML 和标准表单 form数据 foo=bar&boo=baz 等.换句话说,只要定义好结构体, ...

  2. Go 知识点(04)— 结构体字段转 json格式 tag 标签的作用

    我们知道在 Go 语言中无论是变量.常量还是函数,对于首字母大小写有不同的处理. 首字母大写,标志着该字段或者函数是能导出的,也就是可以被其它包所能访问的: 首字母小写,标志着该字段是私有的,只能在本 ...

  3. 【C#】枚举_结构体_数组

    最近看C#视频,关于这部分,先看了一遍,又照着敲了一遍,自己敲的过程发现了一些有意思的东西. 枚举:定义一个枚举类型的变量,这个变量有很多相同类型的值.比如性别Gender这个变量可以有男和女这两个值 ...

  4. C++ 结构体struct 的使用

    结构体是什么 结构体是一种有开发者定义的数据类型,以容纳许多不同的数据值 结构体的注意事项: 声明结构体的方式和声明类的方式大致相同,其区别如下: 使用关键字 struct 而不是关键字 class. ...

  5. C语言结构体篇 结构体

    在描述一个物体的属性的时候,单一的变量类型是无法完全描述完全的.所以有了灵活的结构体变量. 结构体变量从意义上来讲是不同数据类型的组合,从内存上来讲是在一个空间内进行不同的大小划分. 1.1 结构体类 ...

  6. 33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体

    1 //读写结构体 2 #include <stdio.h> 3 typedef struct student 4 { 5 int num; 6 char name[30]; 7 char ...

  7. Linux 准确查找结构体定义位置

    例如:查找文件操作结构体 struct file_operations, 使用转移符 "\" $ grep struct\ file_operations\ { kernel/in ...

  8. Go 学习笔记(33)— Go 自定义类型 type(自定义结构体、结构体初始化、结构体内嵌、自定义接口)

    1. 自定义类型格式 用户自定义类型使用关键字 type ,其语法格式是: type newType oldType oldType 可以是自定义类型.预声明类型.未命名类型中的任意一种. newTy ...

  9. Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)

    1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...

最新文章

  1. (转)金额转中文大写
  2. 脚本征集大赛开启啦!100% 有奖!
  3. php mysql 编程原理_PHP开发的原理及优势介绍
  4. 被捞起的“海底数据中心”,故障率仅为陆地1/8,微软新型数据存储模式又有新进展...
  5. 深入理解JavaScript this
  6. Go 高性能编程技法
  7. 关于如何根据UI的版本把Tab切换成新的Notes UI Component
  8. r语言 分类变量 虚拟变量_R语言中的变量
  9. C++基础教程之指针
  10. BZOJ 4766: 文艺计算姬 [矩阵树定理 快速乘]
  11. CarMaker入门第二课-创建第一个TestRun
  12. 为什么压缩图片和压缩
  13. C#学习笔记:子类于父类的构造函数的关系【By Myself】
  14. 无刷电机控制基础(1)——结构和驱动电路
  15. 戴尔linux改win7教程视频,戴尔笔记本win10改win7系统BIOS设置详细教程
  16. vue3 导入svg图片
  17. 搜索引擎免费登录入口
  18. 聚集索引和非聚集索引的区别?
  19. 万字精华总结RocketMQ的常见用法(案例+图)
  20. Arduino——正点原子sim800c模块

热门文章

  1. 用动态面板阈值模型研究金融和经济增长的关系
  2. 计算机最学生写作的影响,计算机对学生英语写作影响的元分析
  3. c++OntheWay-debug
  4. 华为NQA与默认路由
  5. 【程序源代码】小程序-前后开源
  6. 杨天宇20190912-1 每周例行报告
  7. CodeForces - 1325C Ehab and Path-etic MEXs
  8. hive-insert
  9. 基于ARCGIS的VCT扩展模块使用[转自CSDN阿翔]
  10. 基于网页网站在线视频点播系统 毕业设计毕设源码毕业论文开题报告参考(1)功能概要