/ WHOJ / 题库 /

身手敏捷の盗画者

身手敏捷の盗画者

题目描述

Peer Brelstet 站在存画的房间的 \((X_1,Y_1)\) 处。他用你给出一张 \(N×M\) 的地图发现另外在 \((X_2,Y_2)\)处有一个保护画的保镖。假设 Peer Brelstet 移动一步需要 \(1s\) 的时间,他身手敏捷,所以杀死保镖不需要时间,并且他的手枪射程无穷大,但子弹不能穿透坚硬的阻碍物、他只能射向上、下、左、右、左上,右上、左下、右下八个方向。

请求出他最少需要用多少时间才能消灭保镖,拿到画作。

格式

输入格式

第 \(1\) 行为 \(2\) 个数 \(N\) 和 \(M\),表示矩阵的规模(\(N\) 为高,\(M\) 为宽)。
接下来是 \(N×M\) 的矩阵,\(0\) 表示空地,\(X\) 表示坚硬的障碍物。
下面是若干行数据,每行为一对数据,分别是保镖的位置和 Peer Brelstet 的位置(因为 Peer Brelstet 学会了分身术,而保镖可能有多个)。显然,Peer Brelstet 和保镖都不可能在障碍物上。
以“\(0~0~0~0\)”为输入结束标志。

输出格式

输出第 \(1\) 行为 Peer Brelstet 能消灭掉保镖的最短时间。
显然,若能直接打到保镖,则时间为 \(0\);若无法消灭,则第 \(2\) 行再输出“\(\texttt{Impossible!}\)"。

样例1

样例输入1

3 4
0XX0 
XX00
X000
3 2 2 4
3 3 1 1
0 0 0 0

样例输出1

1
Impossible!

限制

对于 \(30\%\) 的数据满足:\(N×M≤5000\)。
对于 \(50\%\) 的数据满足:\(N×M≤10000\)。
对于 \(100\%\) 的数据满足:\(N×M≤20000\)。