Farmer John 在外面的田野上搭建了一个巨大的用栅栏围成的迷宫。幸运的是,他在迷宫的边界上留出了两段栅栏作为迷宫的出口。更幸运的是,他所建造的迷宫是一个“完美的”迷宫:即你能从迷宫中的任意一点找到一条走出迷宫的路。
给定迷宫的宽度 W(1 \leq W \leq 38)及高度 H(1 \leq H \leq 100)。2 \times H+1 行,每行 2 \times W+1 的字符以下面给出的格式表示一个迷宫。然后计算从迷宫中最“糟糕”的那一个点走出迷宫所需的步数(即使从这一点以最优的方式走向最靠近的出口,它仍然需要最多的步数)。
当然了,牛们只会水平或垂直地在 X 或 Y 轴上移动,他们从来不走对角线。每移动到一个新的方格算作一步(包括移出迷宫的那一步)。
这是一个 W=5,H=3 的迷宫:
+-+-+-+-+-+
| |
+-+ +-+ + +
| | | |
+ +-+-+ + +
| | |
+-+ +-+-+-+
如上图的例子,栅栏的柱子只出现在奇数行或奇数列。每个迷宫只有两个出口。
第一行两个整数 W,H。
接下来 2 \times H+1 行:每行 2 \times W+1 个字符,描述一个迷宫。
输出一个单独的整数,表示最坏情况下牛走出迷宫的最小步数。
5 3 +-+-+-+-+-+ | | +-+ +-+ + + | | | | + +-+-+ + + | | | +-+ +-+-+-+
9
USACO 2.4