到底有没有气

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

故事背景

\quad雪糕在下围棋的时候,总是因为数不清棋子的气而发愁。因此,她想让你给她写一个程序来判断当前棋盘上没有气的棋子有哪些。 \\

具体描述

\quad给你一副已经下了一些棋子的围棋棋盘(19×1919 \times 19)。你要计算没有气的黑子和白子分别有几个。\red{没有气的黑子和白子分别有几个。}\\

气的定义

\quad每颗棋子都有上下左右的四口气(如下图所示)。\\ \\ \quad若其中的一口气被边界或对手的棋子堵住了,那么这口气就没了。如果一个棋子没有气了,那他就死掉了(如下图所示)。\\ \\ \quad在围棋中,我们可以通过构造联通块的方式来让自己的棋子多几口气(如下图所示),这块棋子的气就一步步的从4变为了7。本来4颗白棋就能杀死这颗黑棋,现在却需要7颗白棋才可以。\\ \\

棋子相连的定义

\quad当且仅当两颗棋子中的任意一颗棋子位于另一颗棋子的上下左右任意相邻点为时,我们认为两颗棋子相连。\\

联通块的定义

\quad当且仅当,一个棋子与一个联通块内的任意棋子相连时,这个棋子就属于这个联通块,或者说这个联通块和这个棋子组成了一个新的联通块。\\

\quad特别的:一颗单独的棋子也算是一个联通块。\\

“没气”的定义

\quad当且仅当,一颗棋子所在的最大联通块没有气时,这颗棋子就没气了。\\

特别说明

我们不考虑提子之类的其他规则,也就是说,下图中间的1颗黑子和4颗白子都算没气。不会出现因为周围的4颗白子死了,所以中间的那1颗黑子就活了的情况。\\

输入格式

\quad给定两个正整数nnmm,分别代表黑子个数和白子个数。\\ \quad之后输入nn行数据,每行两个正整数xxyy,代表每个黑子坐标。\\ \quad之后输入mm行数据,每行两个正整数xxyy,代表每个白子坐标。\\

数据范围

\quadn+m361 且 1x,y19\red{n + m \leq 361 \ 且\ 1\leq x, y \leq 19}

输出格式

\quad输出两个正整数aa, bb分别代表没有气的黑子的数量以及没有气的白子的数量,两数之间用一个空格隔开。

测试用例

3 5
15 15
15 16
18 18
18 17
18 19
17 18
19 18
1 1
1 0

时空限制

1s, 1024KiB

2025年中国民航大学程序设计天梯竞赛

未参加
状态
已结束
规则
IOI
题目
20
开始于
2025-10-12 18:00
结束于
2025-10-12 21:00
持续时间
3 小时
主持人
参赛人数
192