#arc038b. [arc038_b]マス目と駒
[arc038_b]マス目と駒
問題文
行 列のマス目とチェスの駒が つあります。 行目 列目のマスを、マス と呼ぶことにします。このとき、左上のマスがマス で右下のマスがマス となっています。また、マス 以外のいくつかのマスには障害物が置いてあります。ゲーム好きな兄妹がこのマス目と駒を使って以下のようなゲームをしようとしています。
- 最初、駒をマス に置く。
- プレイヤーは自分のターンに、駒を つ下か つ右下か つ右のマスのうち障害物のないいずれかのマスに動かさなければならない。つまり、駒がマス にあるときは、マス かマス かマス のうち障害物のないいずれかのマスに動かさなければならない。ただしこのとき、マス目の外に動かすことはできない。すなわち、 のときは下や右下には動かせず、 のときは右下や右には動かせない。
- 交互にターンを繰り返し、自分のターンに駒を動かせなくなったプレイヤーの負けとなる(もう一方のプレイヤーが勝ちとなる)。
人ともが勝ちを目指して最適な戦略をとったとき、先手と後手のどちらが勝つでしょうか?
入力
入力は以下の形式で標準入力から与えられる。
.. .. : ..
- 行目には、 つの整数 が空白区切りで与えられる。これは、マス目の行数が 、マス目の列数が であることを表す。
- 行目からの 行には、マスの情報が与えられる。このうち 行目には、 個の文字が与えられる。このうちの 個目の文字 は、マス の情報を表す
#
または.
の文字である。#
である場合はマス に障害物があることを表し、.
である場合はマス に障害物がないことを表す。ただし、 は.
であることが保証される。
部分点
この問題には部分点が設定されている。
- かつ を満たすデータセット に正解した場合は、 点が与えられる。
- 全てのテストケースに正解した場合は、上記とは別に 点が与えられる。
出力
先手が勝つ場合は First
を、後手が勝つ場合は Second
を 行に出力せよ。出力の末尾に改行を入れること。
入力例1
2 3
.#.
...
出力例1
First
ゲームは、例えば以下のように進行します。o
は駒の位置を表しています。
o#.
...
- ターン目:駒はマス にあります。駒を下か右下に動かすことができます。先手は、駒を下に動かしました。
.#.
o..
- ターン目:駒はマス にあります。駒は右にしか動かせません。後手は、駒を右に動かしました。
.#.
.o.
- ターン目:駒はマス にあります。駒は右にしか動かせません。先手は、駒を右に動かしました。
.#.
..o
- ターン目:駒はマス にあります。後手は、駒を動かすことができないため負けとなります。
後手がどのように駒を動かしても、先手は適切な動かし方をすることによって勝つことができるため First
を出力します。
入力例2
4 4
....
...#
....
.#..
出力例2
Second
先手がどのように駒を動かしても、後手は適切な動かし方をすることによって勝つことができるため Second
を出力します。
入力例3
11 44
............................................
............................................
............................................
.....#.....#####....####.....####....####...
....#.#....#....#..#....#...#....#..#....#..
....#.#....#....#..#.............#..#....#..
...#####...#####...#..........###....####...
...#...#...#....#..#.............#..#....#..
..#.....#..#....#..#....#...#....#..#....#..
..#.....#..#....#...####.....####....####...
............................................
出力例3
Second