某日,Askalana 来找小红下棋,准备验证刚学到的全新战术,Askalana执白,志在塞满小红的棋盖。

对于给定的

行

列的棋盘,一共有

个位置可以落子。我们使用
)
表示棋盘中从上往下数第

行和从左往右数第

列的单元格,使用

表示这个单元格中现在的状态,状态有且仅有三种:

若

,表示第

行第

列的格子内已经落了一枚白子;

若

,表示落了黑子;

若

,表示格子中没有落子。

每一个格子至多可以落一枚子。

现在,你可以选择任意一个空的格子落一枚黑子,求解,在最优策略下,这一操作最多可以
吃掉多少枚白子。

保证初始给出的局面是稳定的,双方均不能吃子,且一定存在可落子的位置。

如果在一方行动后,对方的一枚或多枚棋子组成的连通块被异色子或棋盘边界包围,则视这些子为死子,可以被一次性吃掉。为了准确的定义,我们有如下若干定义:

当

时,格子
)
和
)
被认为是相邻的;

“白子极大连通块”为若干白子连接形成的区域,它们所在的格子相邻;当这片区域不能再添加更多的相邻白子时,称之达到极大;

“白子极大连通块”的边界棋子为,与黑子、空点或棋盘边界相邻的棋子;

最终,定义
吃掉白子为:对于任意一个“白子极大连通块”,如果它所有的边界棋子均不与空点相邻,则视这些白子为死子。整个连通块内的白子均会被吃掉。

吃掉黑子的定义与之类似,此处不再重复。