#gw2015c. [gw2015_c]Snukeと対戦!

[gw2015_c]Snukeと対戦!

问题描述

Cat Snuke偶尔会下围棋。Snuke想出了以下新的玩法。

  • 绘制一个 HHWW 列的方格。
  • 两个玩家交替将一颗棋子放在方格内。棋子有黑色和白色两种,可以放置任一种颜色的棋子。
  • 不能在已经有棋子的格子上放置棋子。另外,如果一个格子的上、下、左、右四个直接相邻的格子中,存在与将要放置的棋子颜色相同的棋子,那么不能放置棋子。
  • 当一个玩家无法放置棋子时,他就输了,另一个玩家获胜。

Snuke向你挑战这个游戏。你可以选择先手还是后手。你的目标是赢得这个游戏。


输入输出

首先,从标准输入读入表示方格行数和列数的两个整数 H(1H18),W(1W18)H (1 ≦ H ≦ 18), W (1 ≦ W ≦ 18),以空格分隔。

HH WW

其次,你的程序应该输出你选择先手还是后手。如果选择先手,则输出 First,如果选择后手,则输出 Second。最后要换行。

选择先手或后手之后,游戏立即开始。

如果选择先手,则按照以下步骤进行游戏。

(★)首先,你需要输出三个整数 a(1aH),b(1bW),c(0c1)a (1 ≦ a ≦ H), b (1 ≦ b ≦ W), c (0 ≦ c ≦ 1),以空格分隔,表示你要将棋子放置在哪个位置以及放置的棋子颜色。这表示你要在第 aa 行第 bb 列放置颜色为 cc 的棋子。其中,颜色 00 表示黑色,颜色 11 表示白色。最后要换行。

aa bb cc

在这种情况下,如果你试图违反规则来放置棋子,你会立即被判断为错误。判断结果是不确定的(不一定是 WA)。 此外,如果以错误的格式输出结果,结果也是不确定的。

(△)接下来,给出三个整数 A(1AH),B(1BW),C(0C1)A (1 ≦ A ≦ H), B (1 ≦ B ≦ W), C (0 ≦ C ≦ 1),以空格分隔,表示Snuke要在第 AA 行第 BB 列放置颜色为 CC 的棋子。如果 A=B=C=1A = B = C = -1,表示没有地方可以放置棋子了,你获得了胜利。在这种情况下,你的程序必须立即结束。 如果未能结束,结果是不确定的。

AA BB CC

重复执行(★)和(△)直到游戏结束。

如果你的程序胜利并结束游戏,则被认为是正确答案。

此外,如果选择后手,则跳过(★)步骤,从(△)步骤开始进行处理。

注意,在输出后必须进行 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