#arc038b. [arc038_b]マス目と駒

[arc038_b]マス目と駒

问题描述

有一个 HHWW 列的棋盘和一个棋子。我们将第 ii 行第 jj 列的格子称为 (i,j)(i, j) 格。其中,左上角的格子是 (1,1)(1,1),右下角的格子是 (H,W)(H,W)。此外,除了 (1,1)(1,1) 外,一些格子上放着障碍物。喜欢游戏的兄弟姐妹打算用这个棋盘和棋子玩以下游戏:

  • 最开始,把棋子放在 (1,1)(1,1) 格上。
  • 在自己的回合,玩家必须把棋子移动到下方格子、右下方格子或右侧格子中没有障碍物的任意一个格子中。也就是说,当棋子在 (i,j)(i,j) 格上时,必须把它移动到 (i+1,j)(i+1,j) 或者 (i+1,j+1)(i+1,j+1) 或者 (i,j+1)(i,j+1) 中没有障碍物的任意一个格子中。但是,在这种情况下,不能把棋子移出棋盘。也就是说,当 i=Hi = H 时,不能向下或向右下移动;当 j=Wj = W 时,不能向右下或向右移动。
  • 轮流进行,当某个玩家无法移动棋子时,他就输了(对方赢了)。

两位玩家都采取最佳策略争取胜利时,先手和后手哪个会取得胜利?

输入

从标准输入读入输入数据。

输入的格式如下:

HH WW S1,1S_{1,1}S1,2S_{1,2}..S1,WS_{1,W} S2,1S_{2,1}S2,2S_{2,2}..S2,WS_{2,W} : SH,1S_{H,1}SH,2S_{H,2}..SH,WS_{H,W}

  • 第 1 行包含两个整数 HHWW,以空格分隔。表示棋盘的行数为 HH,列数为 WW
  • 第 2 行到第 H+1H+1 行,每行包含 WW 个字符,表示棋盘的信息。其中,第 i+1i+1 行包含 WW 个字符,其中的第 jj 个字符 Si,jS_{i,j} 表示格子 (i,j)(i,j) 的信息。字符 # 表示格子 (i,j)(i,j) 上有障碍物,字符 . 表示格子 (i,j)(i,j) 上没有障碍物。保证 S1,1S_{1,1}.

部分分

本问题设置了部分分。

  • 解决了 H4H \leq 4W4W \leq 4 的数据集 1,可以得到 30 分。
  • 如果通过了所有测试用例,则可以额外获得 70 分。

输出

如果先手能够获胜,则输出 First;如果后手能够获胜,则输出 Second。输出末尾要换行。

输入样例1

2 3
.#.
...

输出样例1

First

游戏的进行如下所示。o 表示棋子的位置。

o#.
...
  • 第 1 回合:棋子在 (1,1)(1,1) 格上。可以将棋子向下或向右下移动。先手选择将棋子向下移动。
.#.
o..
  • 第 2 回合:棋子在 (2,1)(2,1) 格上。只能将棋子向右移动。后手选择将棋子向右移动。
.#.
.o.
  • 第 3 回合:棋子在 (2,2)(2,2) 格上。只能将棋子向右移动。先手选择将棋子向右移动。
.#.
..o
  • 第 4 回合:棋子在 (2,3)(2,3) 格上。后手无法移动棋子,所以判为输。

无论后手如何移动棋子,先手都可以通过合适的移动方式取胜,因此输出 First

输入样例2

4 4
....
...#
....
.#..

输出样例2

Second

无论先手如何移动棋子,后手都可以通过合适的移动方式取胜,因此输出 Second

输入样例3

11 44
............................................
............................................
............................................
.....#.....#####....####.....####....####...
....#.#....#....#..#....#...#....#..#....#..
....#.#....#....#..#.............#..#....#..
...#####...#####...#..........###....####...
...#...#...#....#..#.............#..#....#..
..#.....#..#....#..#....#...#....#..#....#..
..#.....#..#....#...####.....####....####...
............................................

输出样例3

Second