#ABC253B. [ABC253B] 棋子之间的距离(Distance Between Tokens)

[ABC253B] 棋子之间的距离(Distance Between Tokens)

题目描述

给定一张 hhww 列的棋盘。棋盘上有两枚棋子,它们的位置在棋盘中用o表示。棋盘中的空格子用-表示。

一枚棋子可以向它所在格子的上下左右四个相邻的格子中移动(不能出格),称为走一步。请计算其中一枚棋子到达另一枚棋子的位置最少需要多少步。

输入格式

第一行输入两个整数 h,wh,w

接下来输入一个 hhww 列,仅由两个 o 和若干个 - 组成的字符方阵。

输出格式

一行一个整数,答案。

样例 #1

样例输入 #1

2 3
--o
o--

样例输出 #1

3

样例 #2

样例输入 #2

5 4
-o--
----
----
----
-o--

样例输出 #2

4

提示

样例说明1

位于第 1 行第 3 列的棋子可以通过 3 步移动到另一个棋子所在的格子:向下、向左、向左。由于不可能用 2 步或更少的步数完成移动,所以答案是 3。

数据范围

对于全部测试点,数据保证:

  • 2h,w1002 \le h,w \le 100
  • 棋盘中有且仅有两枚棋子。