问题 A: Deadly Laser

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:199 解决:62

题目描述

机器人放置在网格的左上角,网格由n行和m列组成,位于单元格(1,1)中。
在一个步骤中,它可以移动到与当前单元相邻的单元中:
(x,y)→(x,y+1);
(x,y)→(x+1,y);
(x,y)→(x,y−1);
(x,y)→(x−1、y)。
机器人不能在网格外移动。
格子(sx,sy)含有致命的激光。如果机器人进入距离激光小于或等于d的格子,它就会蒸发。两个单元(x1,y1)和(x2,y2)之间的距离定义为|x1−x2|+|y1−y2|。

打印机器人在不蒸发并且移动到网格外的情况下到达单元(n,m)所需的最小步数。如果无法到达单元格(n,m),请打印-1。

激光器既不在起始单元中,也不在结束单元中。起始单元与激光器的距离始终大于d。

输入

第一行包含单个整数t(1≤t≤104)-测试用例的数量。
每个测试用例的唯一一行包含五个整数n,m,sx,sy,d(2≤n、 m≤1000; 1.≤sx≤n1.≤sy≤m;0≤d≤n+m)-网格的大小、包含激光器的单元和激光器的蒸发距离。
激光器既不在起始单元中,也不在结束单元中,数据满足((sx,sy)≠(1,1)和(sx,sy)≠(n,m))。起始单元(1,1)与激光器的距离始终大于d(|sx−1|+|sy−1|>d)。



输出

3
-1
8

样例输入 复制

3
2 3 1 3 0
2 3 1 3 1
5 5 3 4 1

样例输出 复制

3
-1
8