P1042 [NOIP2003 普及組] 乒乓球
阿新 • • 發佈:2021-11-19
#include <bits/stdc++.h> using namespace std; //每行至多 25 個字母,最多有 2500 行。 const int N = 25 * 2500 + 10; int a[N];//小華的輸贏狀態表 int idx; int main() { char tmp; while (true) { cin >> tmp; if (tmp == 'E') break; if (tmp == 'W') a[idx++] = 1; else if (tmp == 'L')a[idx++] = 0; } //開始分析11分 int w = 0, l = 0; for (int i = 0; i < idx; i++) { if (a[i])w++; else l++; if ((w >= 11 || l >= 11) && abs(w - l) >= 2) { cout << w << ":" << l << endl; //下一局開始,清零 w = l = 0; } } cout << w << ":" << l << endl; //兩種計分制中間需要有空行 cout<<endl; //開始分析21分 w = 0, l = 0; for (int i = 0; i < idx; i++) { if (a[i])w++; else l++; if ((w >= 21 || l >= 21) && abs(w - l) >= 2) { cout << w << ":" << l << endl; //下一局開始,清零 w = l = 0; } } cout << w << ":" << l << endl; return 0; }