传送门: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;
}
最后修改:2025 年 04 月 07 日
如果觉得我的文章对你有用,请随意赞赏