该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

围棋

题目描述

Y 同学正在进行一局围棋模拟演练。棋盘是一个 19×1919 \times 19 的网格,交叉点坐标用 (x,y)(x, y) 表示,其中 1x,y191 \le x, y \le 19

游戏由黑方和白方轮流落子,黑方先行(即第 1,3,5,1, 3, 5, \dots 步为黑子,第 2,4,6,2, 4, 6, \dots 步为白子)。

相关定义

  1. 相邻:若两个交叉点 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 满足 x1x2+y1y2=1|x_1-x_2| + |y_1-y_2| = 1,则称它们相邻。
  2. 连通组:相邻的同色棋子属于同一个连通组。
  3. :一个棋子的“气”数等于其相邻交叉点中没有棋子的数量。一个连通组的“气”数等于该组中所有棋子的“气”数之和。
  4. 死亡与移除:若一个连通组的“气”数为 00,则该组棋子被判定为“死棋”,需从棋盘上移除。

落子与提子规则: 假设当前执子方为 AA(黑或白),对手为 BB。当 AA 在空位落下一颗子后,结算流程如下:

  1. 先判断对手:检查棋盘上所有 BB 方的连通组。若有 BB 方连通组气数为 00,则将其从棋盘上移除。
  2. 后判断己方:在移除完死掉的 BB 子后,检查棋盘上所有 AA 方的连通组。若仍有 AA 方连通组气数为 00,则将其从棋盘上移除。

现在,给定一局棋的 MM 步落子记录。请你计算每一步落子结算后,分别有多少颗黑子和白子被移除。

注意:输入保证每次落子位置当前均没有棋子,且允许在任何空位落子(即使该落子可能导致己方立即被提子)。

输入格式

输入包含 MM 行(注意:虽然某些题面格式第一行可能是 MM,但根据题目描述“输入包含 mm 行”,此处按标准输入流处理,通常会有行数指示或读到文件尾,基于样例,第一行是一个整数 MM)。

第一行输入一个整数 MM,表示总步数。

接下来的 MM 行,第 ii 行包含两个整数 xi,yix_i, y_i,表示第 ii 步棋子落在坐标 (xi,yi)(x_i, y_i) 处。

输出格式

输出 MM 行。第 ii 行包含两个整数,分别表示第 ii 步落子结算后,被移除的黑子数量白子数量

样例

样例输入 #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

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1M5×1051 \le M \le 5 \times 10^5
  • 1xi,yi191 \le x_i, y_i \le 19
  • 棋盘初始为空。
  • 落子位置在落子前保证为空。

「果壳杯」 ROUND 32 (Div. 3)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2025-12-12 18:00
结束于
2025-12-19 18:00
持续时间
2.5 小时
主持人
参赛人数
16