AT_iroha2019_day3_d おにごっこ

题目描述

在一个大小为 $N \times N$ 的网格上,你和いろは要进行一场捉迷藏游戏。这里,$N$ 是一个奇数。网格中位置的行从上往下编号为 $1, 2, \dots, N$,列从左往右编号为 $1, 2, \dots, N$,いろは是扮演“鬼”的角色。 网格中的每个格子要么是空地(用 `.` 表示),要么是障碍物(用 `#` 表示),而障碍物格子是不可通过的。 **网格的最外层格子是 `#` 形成的边界,同时每一行的奇数列和每一列的奇数行的位置也是 `#`。每一行的偶数列和每一列的偶数行的位置是 `.`。所有 `.` 都至少和两个其他的 `.` 相邻,这意味着没有死胡同。** 你和いろは在网格上进行1000个回合的追逐。你从位置 $(2, 2)$ 开始,而いろは从位置 $(N-1, N-1)$ 开始。每个回合,你们可以选择移动到相邻的空地格子或者留在原地。如果有某个回合你和いろは同时位于同一格子,那么你就会被いろは抓住,游戏失败。 只有当你和いろは处于同一横行或纵列且之间没有障碍物时,你才能看到いろは的位置。然而,作为一个天才忍者,いろは可能实时掌握你的动向,并依据某种算法来行动。 你需要设法在1000个回合内不被いろは抓住。 ### 输入格式 游戏开始时,网格的信息以如下格式提供: > $N$ > $S_1$ > $S_2$ > $\vdots$ > $S_N$ ### 数据范围与提示 - $N$ 是奇数。 - $5 \leq N \leq 9$ - 每个字符串 $S_i$ 的长度为 $N$。 ### 实现注意事项 - 本题是 **交互式** 的。 - 每次输出后需刷新标准输出,否则可能导致超时 (`TLE`)。 - 如果接收到 `-2` 或 `-3`,程序要立即终止,否则结果会是未定义的。 ### 示例解释 网格示例: ``` 9 ######### #.......# #.#.###.# #.....#.# #.###.#.# #...#...# #.#.###.# #.......# ######### ``` **本翻译由 AI 自动生成**

输入格式

输出格式

说明/提示

### 制約 - $ N $ は奇数である - $ 5\ \leq\ N\ \leq\ 9 $ - $ |S_i|\ =\ N(1\ \le\ i\ \le\ N) $ ### 実装上の注意 - この問題は **インタラクティブ形式** である。 - 出力のあと、標準出力を flush しなければならない。 行わなかった場合`TLE`の可能性がある。 - `-2`ないし`-3`を受け取った後、プログラムをすぐに終了しなければならない。そうでないときの挙動は定義されていない。 ### 解説 [おにごっこ - 解説](https://img.atcoder.jp/iroha2019-day3/editorial-D.pdf) ### Sample Explanation 1 グリッドの例 ``` 9 ######### #.......# #.#.###.# #.....#.# #.###.#.# #...#...# #.#.###.# #.......# ######### ```