#gw2015c. [gw2015_c]Snukeと対戦!
[gw2015_c]Snukeと対戦!
问题描述
Cat Snuke偶尔会下围棋。Snuke想出了以下新的玩法。
- 绘制一个 行 列的方格。
- 两个玩家交替将一颗棋子放在方格内。棋子有黑色和白色两种,可以放置任一种颜色的棋子。
- 不能在已经有棋子的格子上放置棋子。另外,如果一个格子的上、下、左、右四个直接相邻的格子中,存在与将要放置的棋子颜色相同的棋子,那么不能放置棋子。
- 当一个玩家无法放置棋子时,他就输了,另一个玩家获胜。
Snuke向你挑战这个游戏。你可以选择先手还是后手。你的目标是赢得这个游戏。
输入输出
首先,从标准输入读入表示方格行数和列数的两个整数 ,以空格分隔。
其次,你的程序应该输出你选择先手还是后手。如果选择先手,则输出 First
,如果选择后手,则输出 Second
。最后要换行。
选择先手或后手之后,游戏立即开始。
如果选择先手,则按照以下步骤进行游戏。
(★)首先,你需要输出三个整数 ,以空格分隔,表示你要将棋子放置在哪个位置以及放置的棋子颜色。这表示你要在第 行第 列放置颜色为 的棋子。其中,颜色 表示黑色,颜色 表示白色。最后要换行。
在这种情况下,如果你试图违反规则来放置棋子,你会立即被判断为错误。判断结果是不确定的(不一定是 WA
)。 此外,如果以错误的格式输出结果,结果也是不确定的。
(△)接下来,给出三个整数 ,以空格分隔,表示Snuke要在第 行第 列放置颜色为 的棋子。如果 ,表示没有地方可以放置棋子了,你获得了胜利。在这种情况下,你的程序必须立即结束。 如果未能结束,结果是不确定的。
重复执行(★)和(△)直到游戏结束。
如果你的程序胜利并结束游戏,则被认为是正确答案。
此外,如果选择后手,则跳过(★)步骤,从(△)步骤开始进行处理。
注意,在输出后必须进行 flush 操作。如果没有进行 flush 操作,可能会导致超时。
可以参考以前在 AtCoder 上出题的问题的各种语言的输入输出方法 (链接: ABC 019 D: 高橋くんと木の直径)。
输入输出示例
说明
程序的输出
输入到程序中
给出了方格的行数和列数。
2 2
回答选择后手。
Second
给出了Snuke要放置棋子的位置和颜色的信息。
1 2 0
回答你要放置棋子的位置和颜色。
2 2 1
给出了Snuke要放置棋子的位置和颜色的信息。
1 1 1
回答你要放置棋子的位置和颜色。
2 1 0
给出了Snuke无法放置棋子的信息。
-1 -1 -1