A. Vasya and Football
2 seconds
256 megabytes
standard input
standard output
Vasya has started watching football games. He has learned that for some fouls the players receive yellow cards, and for some fouls they receive red cards. A player who receives the second yellow card automatically receives a red card.
Vasya is watching a recorded football match now and makes notes of all the fouls that he would give a card for. Help Vasya determine all the moments in time when players would be given red cards if Vasya were the judge. For each player, Vasya wants to know
only thefirst moment of time when he would receive a red card from Vasya.
The first line contains the name of the team playing at home. The second line contains the name of the team playing away. Both lines are not empty. The lengths of both lines do not exceed 20. Each line contains only of large English letters. The names of the
teams are distinct.
Next follows number n (1 ≤ n ≤ 90)
— the number of fouls.
Each of the following n lines contains information about a foul in the following form:
- first goes number t (1 ≤ t ≤ 90)
— the minute when the foul occurs; - then goes letter "h" or letter "a"
— if the letter is "h", then the card was given to a home team player, otherwise the card was given to an away team player; - then goes the player's number m (1 ≤ m ≤ 99);
- then goes letter "y" or letter "r"
— if the letter is "y", that means that the yellow card was given, otherwise the red card was given.
The players from different teams can have the same number. The players within one team have distinct numbers. The fouls go chronologically, no two fouls happened at the same minute.
For each event when a player received his first red card in a chronological order print a string containing the following information:
- The name of the team to which the player belongs;
- the player's number in his team;
- the minute when he received the card.
If no player received a card, then you do not need to print anything.
It is possible case that the program will not print anything to the output (if there were no red cards).
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 <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std; int b[100], c1[110], c2[110], c3[110], c4[110]; struct node {
int t;
char c;
int m;
char d;
}a[100]; int cmp(node a, node b) {
return a.t < b.t;
} int main() {
string str1, str2;
cin >> str1 >> str2;
int n;
cin >> n;
memset(a, 0, sizeof(a)); for (int i = 0; i < n; i++)
cin >> a[i].t >> a[i].c >> a[i].m >> a[i].d;
sort(a, a + n, cmp); memset(b, 0, sizeof(b));
memset(c1, 0, sizeof(c1));
memset(c2, 0, sizeof(c2));
memset(c3, 0, sizeof(c2));
memset(c4, 0, sizeof(c2));
int num = 0;
//int flag1 = 0, flag2 = 0;
for (int i = 0; i < n; i++) {
if (a[i].d == 'r' && a[i].c == 'h' && c3[a[i].m] == 0) {
b[num++] = i;
c3[a[i].m] ++; }
else if (a[i].d == 'r' && a[i].c == 'a' && c4[a[i].m] == 0) {
b[num++] = i;
c4[a[i].m] ++; } else if (a[i].d == 'y' && c1[a[i].m] == 1 && a[i].c == 'h' && c3[a[i].m] == 0) {
b[num++] = i;
c3[a[i].m] ++;
}
else if (a[i].d == 'y' && c2[a[i].m] == 1 && a[i].c == 'a' && c4[a[i].m] == 0) {
b[num++] = i;
c4[a[i].m] ++;
}
else if (a[i].d == 'y' && a[i].c == 'h')
c1[a[i].m] ++;
else if (a[i].d == 'y' && a[i].c == 'a')
c2[a[i].m] ++;
}
for (int i = 0; i < num; i++) {
if (a[b[i]].c == 'h')
cout << str1 << " " << a[b[i]].m << " " << a[b[i]].t << endl;
else
cout << str2 << " " << a[b[i]].m << " " << a[b[i]].t << endl;
}
return 0;
}
A. Vasya and Football的更多相关文章
- cf493A Vasya and Football
A. Vasya and Football time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- Codeforces Round #281 (Div. 2) A. Vasya and Football 模拟
A. Vasya and Football 题目连接: http://codeforces.com/contest/493/problem/A Description Vasya has starte ...
- Codeforces Round #281 (Div. 2) A. Vasya and Football 暴力水题
A. Vasya and Football time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- Codeforces Round #281 (Div. 2) A. Vasya and Football 暴力
A. Vasya and Football Vasya has started watching football games. He has learned that for some foul ...
- codeforces 493A. Vasya and Football 解题报告
题目链接:http://codeforces.com/contest/493/problem/A 题目意思:给出两个字符串,分别代表 home 和 away.然后有 t 个player,每个playe ...
- Codeforces Round #281 (Div. 2) A. Vasya and Football(模拟)
简单题,却犯了两个错误导致WA了多次. 第一是程序容错性不好,没有考虑到输入数据中可能给实际已经罚下场的人再来牌,这种情况在system测试数据里是有的... 二是chronologically这个词 ...
- CF493A Vasya and Football 题解
Content 有两个球队在踢足球,现在给出一些足球运动员被黄牌或红牌警告的时间,求每个队员第一次被红牌警告的时间. 注意:根据足球比赛规则,两张黄牌自动换成一张红牌. 数据范围:比赛时间 \(90\ ...
- Codeforces Round #281 (Div. 2)
题目链接:http://codeforces.com/contest/493 A. Vasya and Football Vasya has started watching football gam ...
- Codeforces Round #281 (Div. 2) A 模拟
A. Vasya and Football time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
随机推荐
- 496. Next Greater Element I
You are given two arrays(without duplicates)nums1andnums2wherenums1's elements are subset ofnums2. F ...
- js获取图片的EXIF,解决图片旋转问题
相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转.当时的你肯定时懵逼的,为毛. 其实这就是图片的EXIF搞的鬼. 什么是EXIF 简单来说,Exif 信息就是由数 ...
- bzoj 4872: [Shoi2017]分手是祝愿
Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态 ...
- Docker(六):Docker网络配置进阶
1.Docker集群网络配置之Weave Weave是Github上一个比较热门的Docker容器网络方案,具有非常良好的易用性且功能强大.仓库地址:https://github.com/weavew ...
- Java NIO (二) 缓冲区(Buffer)
缓冲区(Buffer):一个用于特定基本数据类型的容器,由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类. Java NIO 中的Buffer 主要用于和NIO中的通道(Ch ...
- String 转化成java.sql.Date和java.sql.Time
String类型转换成java.sql.Date类型不能直接进行转换,首先要将String转换成java.util.Date,在转化成java.sql.Date 请点击---> java架构 ...
- JMeter IP欺骗压测
要求:JMeter版本2.5以上 IP欺骗其实是LR自带的一个非常有用的功能. 为什么会用到IP欺骗? 1)当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加 ...
- ADO.NET访问数据库
1:ADO.NET数据库的方法和技术 2:ADO.NET的主要组成: 1>DataSet(数据集)-----独立于数据间的数据访问 2>.NETFramework(数据提供程序)----- ...
- java多线程(五)-访问共享资源以及加锁机制(synchronized,lock,voliate)
对于单线程的顺序编程而言,每次只做一件事情,其享有的资源不会产生什么冲突,但是对于多线程编程,这就是一个重要问题了,比如打印机的打印工作,如果两个线程都同时进行打印工作,那这就会产生混乱了.再比如说, ...
- SAP中的BOPF(Business Object Processing Framework)
希望简化你的业务应用开发过程?业务对象处理框架(Business Object Processing Framework,以下简称BOPF)也许可以帮到你. BOPF是SAP Business Sui ...