#1424. 最小体力值

最小体力值

题目描述:

迷迷糊糊中,小智进入了 C++的编程世界。突然,他发现自己处于一个字符方阵之中。字符方阵由 ‘*’ 和 ‘. ’组成,‘. ’的位置可以毫不费力地通过;通过‘ * ’的位置需要消耗 1 个体力值。小智处于‘ .’ 的位置。

由于是在梦中,小智走路的时候不会拐弯。所以小智只能从当前位置选择“上下左右”当中的一个方向直走,直到走出方阵。

请你帮小智计算一下,要走出方阵最少需要消耗多少体力值。

输入格式:

第 1 行 2 个正整数 n 和 m(3 < m,n < 20),表示方阵的大小。数值中间用空格隔开,接下来 n 行,每行 m 个字符(’*‘和’.‘)。字符之间用空格隔开。 最后一行是两个正整数 x 和 y,表示小智当前所在的行号和列号。

输出格式:

一个整数,表示小智需要消耗的最少体力值。

样例:

3 4
* * * *
* * . *
* * * *
2 3

1

提示

小智当前所在位置一定为‘.’