该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
围棋
题目描述
Y 同学正在进行一局围棋模拟演练。棋盘是一个 的网格,交叉点坐标用 表示,其中 。
游戏由黑方和白方轮流落子,黑方先行(即第 步为黑子,第 步为白子)。
相关定义:
- 相邻:若两个交叉点 和 满足 ,则称它们相邻。
- 连通组:相邻的同色棋子属于同一个连通组。
- 气:一个棋子的“气”数等于其相邻交叉点中没有棋子的数量。一个连通组的“气”数等于该组中所有棋子的“气”数之和。
- 死亡与移除:若一个连通组的“气”数为 ,则该组棋子被判定为“死棋”,需从棋盘上移除。
落子与提子规则: 假设当前执子方为 (黑或白),对手为 。当 在空位落下一颗子后,结算流程如下:
- 先判断对手:检查棋盘上所有 方的连通组。若有 方连通组气数为 ,则将其从棋盘上移除。
- 后判断己方:在移除完死掉的 子后,检查棋盘上所有 方的连通组。若仍有 方连通组气数为 ,则将其从棋盘上移除。
现在,给定一局棋的 步落子记录。请你计算每一步落子结算后,分别有多少颗黑子和白子被移除。
注意:输入保证每次落子位置当前均没有棋子,且允许在任何空位落子(即使该落子可能导致己方立即被提子)。
输入格式
输入包含 行(注意:虽然某些题面格式第一行可能是 ,但根据题目描述“输入包含 行”,此处按标准输入流处理,通常会有行数指示或读到文件尾,基于样例,第一行是一个整数 )。
第一行输入一个整数 ,表示总步数。
接下来的 行,第 行包含两个整数 ,表示第 步棋子落在坐标 处。
输出格式
输出 行。第 行包含两个整数,分别表示第 步落子结算后,被移除的黑子数量和白子数量。
样例
样例输入 #1
8
2 1
1 1
1 2
2 2
1 1
1 3
2 3
3 1
样例输出 #1
0 0
0 0
0 1
0 0
0 0
0 0
0 0
3 0
数据范围与约定
对于 的数据,保证:
- 棋盘初始为空。
- 落子位置在落子前保证为空。
「果壳杯」 ROUND 32 (Div. 3)
- 状态
- 已结束
- 规则
- IOI
- 题目
- 5
- 开始于
- 2025-12-12 18:00
- 结束于
- 2025-12-19 18:00
- 持续时间
- 2.5 小时
- 主持人
- 参赛人数
- 16
京公网安备11010802045784号