传送门:P12063 [THUPC 2025 决赛] 我的围棋
更佳的阅读体验:洛谷 P12063 题解
简要题意:黑白方轮流提棋,黑方先手,每轮提 $a_i$ 颗棋子,提棋总数 $> m$ 的一方败。输出胜方。
我们可以边读入边判断,$i$ 是奇数时为黑方,偶数时为白方,只要有一方的提棋总数 $> m$ 就直接输出,然后结束程序。
请注意,输出的是胜方。
#include <iostream>
using namespace std;
int n, m, a, cnt[2];
int main() {
cin.tie(nullptr);
ios::sync_with_stdio(false);
cin >> n >> m;
for (int i = 1; i <= n; ++i) {
cin >> a;
cnt[i % 2] += a;
if (cnt[i % 2] > m) {
cout << (i % 2 ? "White\n" : "Black\n");
return 0;
}
} cout << "Draw\n";
return 0;
}