Content

有两个球队在踢足球,现在给出一些足球运动员被黄牌或红牌警告的时间,求每个队员第一次被红牌警告的时间。

注意:根据足球比赛规则,两张黄牌自动换成一张红牌

数据范围:比赛时间 \(90\) 分钟,足球员号码 \(\leqslant 99\)。

Solution

这道题目就是一个很纯粹的模拟。主要注意以下几点:

  1. 两个球队当中也许有相同号码的球员。比如说近现代的 \(10\) 号球员有很多,比如说齐达内和梅西等。
  2. 球员被红牌下场了,但后面还有可能会录入关于该球员的警告信息,此时应该忽略它。

考虑完这些,模拟就简单多了。

Code

#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std; string a, b;
int num_of_foul, ye[2][1007], vis[2][1007]; int main() {
cin >> a >> b;
scanf("%d", &num_of_foul);
for(int i = 1; i <= num_of_foul; ++i) {
int t_of_foul, num;
char ha[2], yr[2];
scanf("%d%s%d%s", &t_of_foul, ha, &num, yr);
if(yr[0] == 'r' && (ha[0] == 'h' ? !vis[0][num] : !vis[1][num])){
if(ha[0] == 'h') cout << a << ' ';
else if(ha[0] == 'a') cout << b << ' ';
printf("%d %d\n", num, t_of_foul);
if(ha[0] == 'h') vis[0][num] = 1;
else if(ha[0] == 'a') vis[1][num] = 1;
} else if(yr[0] == 'y') {
if(ha[0] == 'h') ye[0][num]++;
else if(ha[0] == 'a') ye[1][num]++;
if(ye[0][num] == 2 && !vis[0][num]) {
cout << a << ' ';
printf("%d %d\n", num, t_of_foul);
vis[0][num] = 1;
} else if(ye[1][num] == 2 && !vis[1][num]){
cout << b << ' ';
printf("%d %d\n", num, t_of_foul);
vis[1][num] = 1;
}
}
}
}

最新文章

  1. Struts2中的ModelDriven机制及其运用
  2. linux关于文件的那些事儿
  3. Java开发之文件上传
  4. Android下常见的四种对话框
  5. javascript 百度地图
  6. python之6-3嵌套函数
  7. 关于ActionContext.getContext()的使用方法心得
  8. Android-----&gt;多线程的实现Thread、IntentService的运用
  9. Updates were rejected because the remote contains work that you do
  10. Android用户登录机制安全性的一些思考
  11. C#逻辑面试题汇总【不断更新中】
  12. Log Filter分析
  13. Ubuntu安装vsftpd并通过xftp连接
  14. centos7 ssh连接慢
  15. segmentController
  16. java中关于重载与重写的区别
  17. JSdom操作内容,样式,属性
  18. JS 父页面调子页面(2种情况),子掉父级(1种)(转)
  19. 关于新加坡IT薪酬和找工作网站
  20. iOS开发-UIImageView响应点击事件

热门文章

  1. final关键字、抽象类、抽象类和接口的区别
  2. HDU 6036 Division Game
  3. 【7】基于NGS检测体系变异解读和数据库介绍
  4. Oracle-除了会排序,你对ORDER BY的用法可能一无所知!
  5. 【Python机器学习实战】聚类算法(1)——K-Means聚类
  6. 前端2 — CSS — 更新完毕
  7. A Child&#39;s History of England.49
  8. 【二分答案】CF1613 C. Poisoned Dagger
  9. linux安装redis报错
  10. OkHttp3 使用