#THU20251D. 井字井字棋
井字井字棋
时间限制: 1.0 秒
空间限制: 512 MB
题目描述
井字井字棋的规则如下:
- 棋盘由 的大格组成,每个大格中的所有小格构成一个井字棋,而整个棋盘中的所有大格也构成一个井字棋。从整体来看棋盘如下:
- 对每个大格进行编号,第 行第 列的大格编号为 ;同理,对每个大格内的小格也可以如此编号。我们用 指代棋盘上编号为 的大格内编号为 的小格。
- 该游戏一定能决出胜负,且在胜负决出前双方轮流落子。
- 每个大格内的规则和井字棋一样,即若一方率先有三个子连成一线(横、竖、斜均可),则占领该大格。
- 整个棋盘的规则也和井字棋一样,即若一方率先有三个子连成一线(横、竖、斜均可),则获胜。
- 不能在有棋子的小格中落子;若大格被某一方占领了,则双方均不能再在大格内的任意小格落子。
- 对于落子的限制:
- 第一步不能下在 ,即最中心的小格。
- 若该步不为第一步,设上一步对手下在了 :
- 若编号为 的大格未被占领,则当前必须下在编号为 的大格里。
- 若编号为 的大格被占领,则当前可下在棋盘上任意一个可以下的位置。
- 若直至无地方可以落子还未决出胜负,则通过如下方法决出胜负:先比拼占领的大格数,多者获胜;若占领的大格数一样,则比拼未占领的大格中占领的小格数,多者获胜。可以证明,按照此规则一定能决出胜负。
现在,给你一个棋谱,请你帮忙判断该棋谱是否合法、若合法是否决出了胜负、若决出了胜负是谁赢了。
输入格式
从标准输入读入数据。
第一行一个整数 ,表示棋谱长度。
接下来 行,第 行输入两个整数 ,表示第 回合落子的人下在了位置 。
输出格式
输出到标准输出。
棋谱不合法,当且仅当存在 ,,使得下第 步前每个人都下在能下的位置且没有决出胜负,而第 步下在了不能下的位置。此时输出两行,第一行为 illegal
,第二行为 。
否则,棋谱合法。在此情况下,棋谱决出了胜负,当且仅当存在 ,,使得下第 步前未决出胜负而下第 步后决出了胜负。此时输出两行,第一行为 first
或 second
,分别表示是先手获胜还是后手获胜,第二行为 。
否则,棋谱没有决出胜负,此时输出一行 to be continued
。
2
5 5
5 4
illegal
1
34
5 1
1 5
5 2
2 5
5 3
3 5
4 7
7 4
4 8
8 4
4 9
9 4
6 7
7 6
6 8
8 6
6 9
5 1
1 5
5 2
2 5
5 3
3 5
4 7
7 4
4 8
8 4
4 9
9 4
6 7
7 6
6 8
8 6
6 9
first
17
16
5 1
1 5
5 2
2 5
5 3
3 5
4 7
7 4
4 8
8 4
4 9
9 4
6 7
7 6
6 8
8 6
to be continued
39
5 1
1 5
5 2
2 5
5 3
3 5
6 1
1 6
6 2
2 6
6 3
3 6
4 1
1 4
4 2
2 4
4 4
4 3
3 4
4 6
7 9
9 7
7 8
8 8
8 9
9 9
9 1
9 8
8 6
4 9
7 7
8 7
8 3
3 2
3 3
3 1
3 9
3 7
3 8
second
39
数据规模与约定
本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。
- 子任务 1(30 分):棋谱不合法。
- 子任务 2(30 分):棋谱合法但未决出胜负。
- 子任务 3(40 分):无特殊限制。
对于 的数据,。