#P1545. 海上营救

海上营救

题目描述

海上巡逻队收到了求救信号,经确认信号由"大山号"发出,时间就是生命,必须尽快赶到那里。

通过导航卫星的侦测,巡逻队获得了一张海洋图。地图上这块区域划分成 n×nn \times n 个比较小的区域,其中用 * 表示岛屿(不能通过),用 . 表示海洋。巡逻队当前在位置 (1,1)(1,1)。

船只航行中只能从一个区域移到相邻的 8 个区域(上下左右 + 四个斜方向),相邻区域距离为 11。请计算巡逻队到达"大山号"位置最少需要航行的距离。

第一行一个整数 nn(n≤50n \le 50),表示海洋图的大小。

接下来是 nn 行,每行一个长度为 nn 的字符串,表示海洋图。

最后一行有 22 个不大于 nn 的正整数,表示"大山号"的位置。

一个整数,表示巡逻队到"大山号"的最短距离;无法到达输出 -1。

样例

4
....
.**.
..*.
....
4 4
4

说明/提示

数据保证 (1,1)(1,1) 位置不是岛屿(除非地图本身就是 1×11 \times 1 的岛屿,此时输出 -1)。