#P1085. Triangle War

Triangle War

描述
三角战争是一款两人在三角网格上进行的游戏。

两名玩家 A 和 B 轮流填充连接两个点的虚线,A 先开始。一旦某条线被填充,就不能再次填充。如果某位玩家填充的线完成了一个或多个三角形,那么她将拥有这些完成的三角形,并且会获得额外的一次回合(即对手跳过一次回合)。当所有虚线都被填充后,游戏结束,拥有最多三角形的玩家获胜。两位玩家拥有的三角形数量的差值并不重要。

例如,如果 A 在下面左侧的部分游戏中填充了 2 和 5 之间的线:

那么她将拥有标记为 A 的三角形,并且可以继续填充 3 和 5 之间的线。B 现在可以通过填充 2 和 3 之间的线,然后是 5 和 6 之间的线,最后是 6 和 9 之间的线,来拥有 3 个三角形(如果他愿意的话)。之后 B 将再进行一次移动,然后才轮到 A 再次行动。

在这个问题中,你会得到一些已经进行的移动。从部分游戏开始,你需要判断假设每位玩家从那一刻起都完美地进行游戏,哪位玩家将会获胜。也就是说,假设每位玩家总是选择对自己最有利的玩法。

输入
输入中包含多个游戏。输入的第一行是一个正整数,表示接下来的游戏数量。每个游戏以一个整数 6m186 \leq m \leq 18 开始,表示游戏中已经进行的移动次数。接下来的 mm 行按顺序表示两名玩家的移动,每行的形式为 i ji\ j(其中 ii < jj),表示在该移动中填充了 iijj 之间的线。你可以假设所有给定的移动都是合法的。

输出
对于每个游戏,在一行中打印游戏编号和结果,格式如下所示。如果 A 获胜,打印句子 “A wins.”;如果 B 获胜,打印 “B wins.”。


输入数据 1

4
6
2 4
4 5
5 9
3 6
2 5
3 5
7
2 4
4 5
5 9
3 6
2 5
3 5
7 8
6
1 2
2 3
1 3
2 4
2 5
4 5
10
1 2
2 5
3 6
5 8
4 7
6 10
2 4
4 5
4 8
7 8

输出数据 1

Game 1: B wins.
Game 2: A wins.
Game 3: A wins.
Game 4: B wins.

来源
东中北美 1999