题号:NC243336
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
小竹成功从家里逃了出来,他决定去小胖家避一避。但是小胖要求小竹带一个刺激度大于

的游戏才能去他家。
为了防止被妈妈或她的朋友发现,小竹不会在道路上行走,而是在建筑物与建筑物之间穿行。
街道表现为一个

的网格,网格上只有两种建筑: 商店和住宅。商店可以通过而住宅无法通过。
小竹每次从当前所在网格可以行走到上下左右的网格中,但不能移动到网格的边界之外和别人的家中。正式的说,如果他在坐标为
)
的网格里,他可以选择
%20%2C%20(i%2Cj%2B1)%20%2C%20(i%20-%201%2Cj)%20%2C%20(i%2Cj-1))
四个方向行走。
在位置
)
上的商店有一个刺激度为

的游戏,小竹可以购买他所经过的商店中的游戏并带走。若

为

则代表这个位置是个住宅,无法通过。
注意:小胖家以及小竹家均可以被通过。
假设相邻的建筑物的距离均为

,小竹想知道带一个刺激度高于

的游戏去小胖家需要的最短距离是多少?如果这是不可能实现的,请输出

。
输入描述:
第一行三个整数
。
第二行四个整数
表示起点与终点的坐标,
均为
。
接下来
行,每行
个整数,第
行第
个整数
,其中所有商店的
。
输出描述:
一行一个整数,表示最短距离,若无法携带一个刺激度大于
的游戏到小胖家,输出-1。
示例1
输入
复制
3 3 1
1 1 3 3
0 1 2
1 1 -1
1 1 0
说明
小竹从家
)
出发,需要先前往唯一可以购买刺激度大于

游戏的商店
)
买到刺激度为

的游戏再去小胖家。路线为
-%3E(1%2C2)-%3E(1%2C3)-%3E(1%2C2)-%3E(2%2C2)-%3E(3%2C2)-%3E(3%2C3))
总距离为6。