#YbtOJ18. 射击问题

射击问题

No testdata at current.

题目描述

有一条远古巨龙。

现在有一个 n×mn \times m 的地图,目标猎物的初始位置在 (x1,y1)(x1,y1),远古巨龙的位置在(x2,y2)(x2,y2)

远古巨龙是一个非常牛逼的生物,它可以瞬间发射射程无穷大的龙炮。然而,这种龙骑却只能打上、下、左、右、左上、右上、左下、右下八个方向,而且这种龙炮不能穿墙,举个例子:龙 | 墙 | 目标

此时这个目标就无法被攻击到。

远古巨龙可以向上、下、左、右四个方向移动,假定远古巨龙移动一步需要单位 的时间,请你求出远古巨龙最少需要多少时间才能消灭目标猎物。

输入格式

第一行两个正整数 n,mn, m

接下来是 的矩阵,O 表示空地,X 表示障碍物。

接下来有多组询问,对于每组询问,一行输入 44 个正整数 x1,y1,x2,y2x1,y1,x2,y2,当 x1=y1=x2=y2=0x1=y1=x2=y2=0 时,询问结束。

输出格式

若能到达能打击到目标猎物的位置,则输出最短步数,若没有这样的位置,则输出 Impossible!

样例

样例输入

3 4
OXXO
XXOO
XOOO
3 2 2 4
3 3 1 1
0 0 0 0

样例输出

1
Impossible!

数据范围与提示

对于30%30\% 的数据,1n,m101\le n,m \le10

对于 50%50\% 的数据,1n,m201\le n,m \le20

对于 100%100\% 的数据,1n,m1281\le n,m \le128