链接
模拟一下比赛结果,注意:
乒乓球比赛,不仅分数要大于11(或21),两者分数相差也要大于2。如果比赛分数达到11-10,比赛会继续。直到一个人比另外一个人多两分。(如13-11),21分制同理.
Code:
#include <bits/stdc++.h>
using ll = long long;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::string s;
std::vector<std::string> str;
int cnt_11A = 0, cnt_11B = 0, cnt_21A = 0, cnt_21B = 0;
while (std::cin >> s) {
str.push_back(s);
if (s.back() == 'E') {
break;
}
}
for (int i = 0; i < str.size(); i++) {
for (auto c : str[i]) {
if (c == 'W') {
cnt_11A++;
} else if (c == 'L') {
cnt_11B++;
}
if (c == 'E') {
std::cout << cnt_11A << ":" << cnt_11B << "\n" << "\n";
break;
}
if (std::abs(cnt_11A - cnt_11B) >= 2) {
if (cnt_11A >= 11 || cnt_11B >= 11) {
std::cout << cnt_11A << ":" << cnt_11B << "\n";
cnt_11A = 0;
cnt_11B = 0;
}
}
}
}
for (int i = 0; i < str.size(); i++) {
for (auto c : str[i]) {
if (c == 'W') {
cnt_21A++;
} else if (c == 'L') {
cnt_21B++;
}
if (c == 'E') {
std::cout << cnt_21A << ":" << cnt_21B << "\n" << "\n";
break;
}
if (std::abs(cnt_21A - cnt_21B) >= 2) {
if (cnt_21A >= 21 || cnt_21B >= 21) {
std::cout << cnt_21A << ":" << cnt_21B << "\n";
cnt_21A = 0;
cnt_21B = 0;
}
}
}
}
return 0;
}