P10870 [HBCPC2024] Genshin Impact Startup Forbidden II(加强版)
题目描述

Blue-edged Shot 被 LeavingZ 禁止玩《原神》,于是她转向了围棋游戏。
一局围棋涉及两名玩家,一名使用黑子,另一名使用白子。两名玩家轮流下棋,黑子先行。围棋棋盘由 $100\times 100$ 的交叉点组成,我们用 $(x,y)$ 表示第 $x$ 行第 $y$ 列的交叉点。棋子放置在交叉点上。左上角为 $(1,1)$,右下角为 $(100,100)$。
当且仅当 $|x_1-x_2| + |y_1-y_2| = 1$ 时,交叉点 $(x_1,y_1)$ 和 $(x_2,y_2)$ 是相邻的。具有相同颜色的相邻交叉点上的棋子属于同一组棋子。一个棋子的「气」的数量等于该棋子所在交叉点的相邻交叉点上没有棋子的数量。一个棋子组的气等于该组中所有棋子的气之和。气为零的棋子组被视为死棋,必须从棋盘上移除。
注意,在黑棋下子后,优先移除任何死去的白棋,然后重新计算黑棋的气。这是因为可能会出现这样的情况:在黑棋下子后,黑棋和白棋都没有气,但移除死去的白棋会增加黑棋的气。对于白棋,处理方式类似。在白棋下子后,优先移除任何死去的黑棋,然后重新计算白棋的气。
现在有一局围棋,从空棋盘开始,两名玩家共下了 $m$ 步棋。给出每步棋的放置位置,输出每步棋后因该步棋而被移除的黑棋和白棋的数量。显然,黑棋在奇数步下,白棋在偶数步下。保证棋子放置在空的交叉点上。注意,棋子可以放置在当前没有棋子的$\textbf{任何}$交叉点上,无论是否违反现实中的围棋规则。
输入格式
输入 $m$ ($1 \le m \le 5\times 10^5)$ 行,第 $i$ 行包含两个整数 $x_i,y_i$ ($1 \le x_i,y_i \le 100$),表示第 $i$ 步棋子放置在 $(x_i,y_i)$。
保证棋子放置在当前没有棋子的交叉点上。
输出格式
输出 $m$ 行,每行包含两个整数。第 $i$ 行的第一个整数表示第 $i$ 步后被移除的黑棋数量,第二个整数表示被移除的白棋数量。
说明/提示
(由 ChatGPT 4o 翻译)