#P10864. [HBCPC2024] Genshin Impact Startup Forbidden II

    ID: 10540 远端评测题 5000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>模拟搜索并查集2024O2优化XCPC湖北

[HBCPC2024] Genshin Impact Startup Forbidden II

Description

弹窗内容

LeavingZ:你被禁止玩《原神》。

蓝边铅球因LeavingZ的禁止而无法玩《原神》,所以她转向了围棋。

围棋游戏由两名玩家进行,一方使用黑子,另一方使用白子。两名玩家轮流下子,黑子先行。围棋棋盘由19×1919\times 19的交叉点组成,我们用(x,y)(x,y)表示第xx行第yy列的交叉点。棋子放置在交叉点上。左上角为(1,1)(1,1),右下角为(19,19)(19,19)

如果x1x2+y1y2=1|x_1-x_2| + |y_1-y_2| = 1,那么交叉点(x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2)是相邻的。相邻的交叉点上放置相同颜色的棋子属于同一组棋子。一个棋子的“气”数等于该棋子所在交叉点的相邻交叉点上没有棋子的个数。一组棋子的“气”数等于该组棋子中所有棋子的“气”数之和。一组棋子如果“气”数为零,则被视为“死棋”并且必须从棋盘上移除。

注意,在黑子落子后,优先移除任何死掉的白子,然后重新计算黑子的“气”数。这是因为可能出现这样的情况:黑子落子后,黑白两方的棋子都没有“气”,但移除死掉的白子会增加黑子的“气”。白子落子的处理方式类似。在白子落子后,优先移除任何死掉的黑子,然后重新计算白子的“气”数。

现在有一局围棋,从空棋盘开始,总共进行了mm步。给定每步棋子的放置位置,请输出每步棋子落子后,分别有多少颗黑子和白子被移除。显然,黑子在奇数步落子,白子在偶数步落子。保证棋子放置在空的交叉点上。注意,棋子可以放置在任意\textbf{任意}当前没有棋子的交叉点上,无论是否违反了现实中的围棋规则(1)^{(1)}

注释:

  • (2):译者补充

Input Format

输入包含 mm 行(1m5×1051 \le m \le 5\times 10^5),第 ii 行包含两个整数 xi,yix_i, y_i1xi,yi191 \le x_i, y_i \le 19),表示第 ii 步在 (xi,yi)(x_i, y_i) 位置放置棋子。

保证棋子放置在当前没有棋子的交叉点上。

Output Format

输出包含 mm 行,每行包含两个整数。第 ii 行的第一个整数表示第 ii 步后被移除的黑子数量,第二个整数表示被移除的白子数量。

翻译者:Immunoglobules

8
2 1
1 1
1 2
2 2
1 1
1 3
2 3
3 1
0 0
0 0
0 1
0 0
0 0
0 0
0 0
3 0