您的位置:首页 > 其它

Codeforces Round #281 (Div. 2) A. Vasya and Football(模拟)

2015-01-21 20:23 429 查看
简单题,却犯了两个错误导致WA了多次。

第一是程序容错性不好,没有考虑到输入数据中可能给实际已经罚下场的人再来牌,这种情况在system测试数据里是有的。。。

二是chronologically这个词没注意,其实如果输入是按时间顺序的,就直接在线处理就行了,用不着int team1[110][110],team2[110][110]两个数组。

#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <vector>
#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>

using namespace std;

const int max_n = 111, inf = 1111111111;

int n, f[2][max_n];
string a[2];

int main() {
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
cin >> a[0] >> a[1] >> n;
while (n--) {
int t, num, q, c;
char c1, c2;
cin >> t >> c1 >> num >> c2;
if (c1 == 'h') {
q = 0;
} else {
q = 1;
}
if (c2 == 'y') {
c = 1;
} else {
c = 2;
}
if (f[q][num] < 2) {
f[q][num] += c;
if (f[q][num] >= 2) {
cout << a[q] << " " << num << " " << t << endl;
}
}
}
return 0;
}


BigBag大神的优美代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: