P4997 不围棋

题目背景

「不围棋」是一种非常有趣的棋类游戏。 大家都知道,围棋的「气」是指一个棋子所在的联通块相邻的空格。两粒棋如果在棋盘上线段的两端就认为是相邻的,也就是在同一个连通块里。比如在图中,白子为四个独立的连通块,黑子构成一个连通块,绿色点是黑子连通块唯一的「气」: ![](https://cdn.luogu.com.cn/upload/pic/41011.png ) 「提子」是指将没有「气」的棋子提出棋盘,在上图中,如果白方走绿点,那么就可以将黑子全部提走。 在围棋中,我们想尽量多地占领地盘、提走对方棋子。然而,不围棋恰恰相反——不围棋是一种非常和平的游戏,双方的走子不能产生任何提子,也就是说,**任何一次走子不能让棋盘上任何一个棋子所在的连通块没有气**。比如,白方在上图中不能走绿点。 在你的某一步棋后,对方无棋可走,那么你就赢了。

题目描述

小 F 对不围棋特别感兴趣,不过他经常输,所以他想做出一个 AI 来替他完成这局游戏。 不过造 AI 实在是太困难啦,小 F 千辛万苦写出来的 AI 被同学们的 AI 锤爆啦! 现在,他想请你帮他实现一个 AI 中一部分的功能——随机模拟,因为他相信你写的程序非常优秀,一定能优化他的 AI。 给你一个 $n \times n$ 的棋盘,上面或许已经有一些棋子了,但此时局面一定是合法的,即**不存在没有气的连通块**;此时轮到黑棋下棋,因此棋盘上**黑白棋子的数量一定是相等的**。 你的任务是,**依次**为黑棋和白棋**随意**指定一个可行的走子位置,直到某一步游戏无法进行,决出胜负为止。 在正式的不围棋比赛还存在一些禁手规则。不过由于小 F 玩的是一种棋盘大小可变的新型不围棋,我们只用考虑上面提到的气的规则就好。

输入格式

输出格式

说明/提示

#### 样例 1 解释: 注意到将棋盘下满会让棋盘上所有连通块都没有气,所以黑棋是无棋可走的。 #### 样例 2 解释: 样例 2 还有两个正确的输出是这样的: ``` 3 2 2 3 -1 -1 ``` ``` 3 3 2 3 -1 -1 ``` 我们将棋盘表示出来: ![](https://cdn.luogu.com.cn/upload/pic/41216.png) 其中,黑棋是三个空格都可以走的。 * 如果黑棋走 $(2, 3)$,如图,此时白棋走任何位置都会提走相邻的黑棋,白棋无棋可走; ![](https://cdn.luogu.com.cn/upload/pic/41219.png) * 如果黑棋走 $(3, 2)$,如图,此时白棋唯一可走的点是 $(2, 3)$,之后黑棋无棋可走; ![](https://cdn.luogu.com.cn/upload/pic/41218.png) * 如果黑棋走 $(3, 3)$,如图,此时白棋唯一可走的点是 $(2, 3)$,之后黑棋无棋可走; ![](https://cdn.luogu.com.cn/upload/pic/41217.png) 这三种情况依次对应三个输出,输出任意一种可得到满分。 #### 评分规则解释: 为了解释评分规则,我们以样例 2 为例,对于以下几种输出: ``` I AK IOI ``` 很不幸,因为您太强了,所以为了按住躁动的您,我们会给您 $0$ 分。 ``` -1 -1 ``` ``` 1 1 -1 -1 ``` 很不幸,你的第一行没有输出正确,得 $0$ 分。 ``` 3 3 -1 -1 ``` 你输出的前 $1$ 行是正确方案的一部分。由于 $1$ 是 $1$ 位数,恭喜你得到了整整 $1$ 分! #### 数据范围: ![](https://cdn.luogu.com.cn/upload/pic/41855.png)