P12063 Sol

· · 题解

2025 年 3 月 23 日,THUPC2025 决赛如期举行。

你带队凭借过硬的实力,在参与初赛的千支队伍中脱颖而出名列前茅,进入了决赛。

按照惯例,你选择先开 THUPC 的经典整活签到题。不出意外,题目背景是前段时间闹得沸沸扬扬的 LG 杯事件。

你忍着笑意读完了题目。你需要得出黑方和白方哪一边的棋盒盖最先被塞爆。

具备进入决赛水平的你当然可以轻松解决这道入门题。只需要遍历 a_i 过程中维护双方棋盒盖里已有的棋子数,在某一方提完子后检查 TA 的棋盒盖有没有爆,如果爆了就立刻输出对方颜色并结束程序。全程没爆就输出平局。

不到一分钟你就写完了代码。

#include <bits/stdc++.h>
using namespace std;
int n,m,c[2];
int main() {
    scanf("%d%d",&n,&m);
    for (int i=1,x;i<=n;i++) {
        scanf("%d",&x),c[i&1]+=x;
        if (c[i&1]>m) return cout<<(i&1?"White":"Black"),0;
    }
    cout<<"Draw";
    return 0;
}

你看着 OJ 上绿色的 AC 获得了心态 +1。

然后你选择开 A。你立刻就想到了构造方案,便新建了一个 A.cpp 开始写。

总之,接下来的一段时间,一切都十分平稳。电脑的利用率很高,你和队友的配合也非常顺利,队伍的排名也一直在前列。

直到中途你的队友使用机器时,一位工作人员来到桌前。

因为你们没有在 AC 后把签到题的 .cpp 文件放入回收站,这可能导致比赛工作组赛后处理机器的工作量增加,所以你们队伍被罚了两题。

你非常诧异,因为这根本没有任何道理。

即使有这种规定,为什么你在之前 THUWC 的两天都把所有 .cpp 全部摆在桌面上也没有任何问题。

工作人员对此表示,如果你再拖延时间,现在你们队伍的比赛资格就会立刻被取消。

你非常不解,但是为了队伍的成绩着想,你还是回到座位上继续想题。毕竟之前排名优势相当可观,就算被罚了两题也还有一定的竞争力。

一段时间后你会了 K,便等队友过完 F 后上去写,也顺利地通过了。这次你多了个心眼,把 K.cpp 删除后换上队友,想了一会 E 题之后起身去接水。

你没有想到的是,此时后桌队伍一直低头看题面的一位同学,突然像是下定了某种决心,妖娆地举起了左手,向你们的屏幕指了指,工作人员注意到后,又换右手向你们的屏幕指了指。

于是工作人员再一次来到桌前。

因为你们没有在 AC 后把 K.cpp 编译出的可执行文件放入回收站,这可能导致比赛工作组赛后处理机器的工作量增加,所以你们的队伍现在已经犯规两次,被取消比赛资格。

你的心态非常爆炸。

你在痛恨如此无理的规则被制定的同时,也很后悔为什么当时的自己没有再多长个心眼把 .cpp 和可执行文件全部放进回收站。

正在 B 站观看直播和参加 CF 同步赛的学弟们也为你们打抱不平。

但申诉无果,你们三人只能痛定思痛,争取在接下来的 THUSC 中拿回属于自己的成绩。

(下期预告:THUSC 中有选手因未及时关闭浏览器上已 AC 的题目页面被罚两题,工作人员比赛中途关闭选手电脑进行判罚,选手不服愤然离场!)