atcoder#ABC229H. [ABC229H] Advance or Eat

[ABC229H] Advance or Eat

配点 : 600600

問題文

NNNN 列のグリッドがあり、各マスには白い駒が 11 個置かれているか、黒い駒が 11 個置かれているか、何も置かれていないかのいずれかです。 上から ii 行目、左から jj 列目のマスの状態は Si,jS_{i,j} で表され、W のとき白い駒が置かれていて、B のとき黒い駒が置かれていて、. のときは何も置かれていない空マスです。

高橋君とすぬけ君がゲームをします。高橋君からはじめて、交互にターンが回ってきます。

高橋君のターンには、

  • 11 つ上に空マスがあるようない駒を 11 つ選び、上に進める
  • 好きない駒を 11 つ食べる

のいずれかの操作をします。

すぬけ君のターンには、

  • 11 つ上に空マスがあるようない駒を 11 つ選び、上に進める
  • 好きない駒を 11 つ食べる

のいずれかの操作をします。

操作ができなくなった方が負けとします。両者が最適に行動するとき、どちらが勝ちますか?

なお「駒を上に進める」とは、iijj 列目の駒を i1i-1jj 列目に移動させることを指します。 高橋君とすぬけ君は同じ向きから盤面を見ていて、「上」というのは両者にとって同じ向きであることに注意してください。

制約

  • 1N81 \leq N \leq 8
  • NN は整数
  • Si,jS_{i,j}W または B または . である

入力

入力は以下の形式で標準入力から与えられる。

NN

S1,1S1,2S1,NS_{1,1}S_{1,2}\ldots S_{1,N}

S2,1S2,2S2,NS_{2,1}S_{2,2}\ldots S_{2,N}

\vdots

SN,1SN,2SN,NS_{N,1}S_{N,2}\ldots S_{N,N}

出力

高橋君が勝つならば Takahashi と、すぬけ君が勝つならば Snuke と出力せよ。

3
BB.
.B.
...
Takahashi

はじめに高橋君が 1111 列目の黒い駒を食べると、盤面は下のようになります。

.B.
.B.
...

このときすぬけ君は操作を行うことができないので、高橋君の勝ちです。 盤面の外に駒を動かすことや、他の駒があるマスに駒を移動させることはできないことに注意してください。

2
..
WW
Snuke
4
WWBW
WWWW
BWB.
BBBB
Snuke