1489. 单挑女飞贼

时间限制 1000 ms   内存限制 128 MB

在一个夜黑风高,伸手不见五指的深夜,睡梦中的林月如突然听到房外一阵躁动。她出去一看,发现一个女飞贼抢了一个古董商的包袱。 " 站住!" " 那你为什么不来追我?" " 因为程序设计,在李大哥来之前,我不能追你。" " 那李逍遥为什么不来呢?" " 大概程序出bug了吧" ………………………………………………  终于,在等了一个又一个时辰后,林月如终于忍不住了,开始向女飞贼发起进攻。 " 喂!你为什么可以动???" " 这大概也是一个bug吧!" " 不公平啊!" " 废话少说。" 已知林月如和女飞贼站在一个矩阵中,矩阵中有某些障碍物不可穿越。月如使出的铜钱镖可攻击8个方向,但不可穿越障碍物(可视为不能穿墙的重狙)。每个单位时间,月如可向上下左右4个方向移动一格,攻击不浪费时间。当然,月如想尽快结束这场无聊的战斗,所以她想在最短的时间内消灭女飞贼。

输入数据

第一行为2个数N,M表示矩阵的规模(N为高,M为宽)。
接下来是N*M的矩阵,O表示空地,X表示障碍物。
下面是若干行数据,每行为一对数据,分别是女飞贼的位置和林月如的位置,显然她们都不可能在障碍物上。
以" 0&nbsp 0&nbsp 0&nbsp 0" 为输入结束标志。

输出数据

每一组数据输出一行,仅一个整数,表示能消灭掉女飞贼的最短时间。
显然若能直接打到女飞贼,则时间为0。
若无法消灭,则输出" Impossible!" 。(不含引号)

样例输入

复制
3 4
OXXO
XXOO
XOOO
3 2 2 4
3 3 1 1
0 0 0 0
 · \n
    \n
    \n
    \n
 · · · \n
 · · · \n
 · · · \n

样例输出

复制
1
Impossible!
 \n
           \n

样例说明

对于30%的数据,有NM< =100
对于50%的数据,有N
M< =400
对于100%的数据,有N*M< =20000
对于100%的数据,测试数据组数不超过20组

提交

请先 登录

Source

经典问题

© 2024 FAQs Contact About