#TR0003. 再抓那头熊

再抓那头熊

题目描述

上次熊被光头强抓住了。但是光头强不小心,熊又跑了(不是光头强无能,只怪小熊太狡猾)。

上次熊站着不动,这次……还是站着不动。

但是这次他们处于一个二维森林中了!森林里有平地,巨树,水坑。光头强只能在平地行走,且不能走出森林。

给你森林的二维布局(光头强每分钟可以移动到上下左右四个相邻的网格),光头强的位置以及熊的位置。你能告诉光头强,他最少需要多少分钟才能抓住熊吗?

输入格式

第一行是两个空格分隔的整数:NNMM,代表森林的范围。

接下来 NN 行每行 MM 个字符,描述了森林的地形。

  • . 平地
  • W 水坑
  • T 巨树

接下来一行有两个整数 Gx,GyG_x,G_y 分别描述光头强的位置(行数和列数)。

接下来一行有两个整数 Bx,ByB_x,B_y 分别描述熊的位置(行数和列数)。

输出格式

光头强抓住逃跑的熊所需的最少时间,以分钟为单位。如果光头强无法抓到熊,输出 -1

样例

4 3
...
.T.
.W.
...
1 2
4 2
5
4 3
...
...
WWW
...
1 2
4 2
-1

数据说明

数据 11:光头强一开始在第一排中间,熊在最后一排的中间,光头强必绕过树和水才能抓到熊。

数据 22:两个区域被水隔开,由于光头强只能走平地,所以没法抓到熊。

数据规模限制

1N,M1000,1Gx,BxN,1Gy,ByM1≤N,M≤1000,1≤G_x,B_x≤N,1≤G_y,B_y≤M,保证光头强和熊一开始不在同一位置,且都不在树上或者水池里。