#YDRB011B. 空间跳跃 (whynotjump)
空间跳跃 (whynotjump)
题目描述
在公元 3446 年,整个猎户旋臂可以被视为一条横跨 的数轴。
你加入了银河系猎户旋臂外卖团,需要完成 个订单。对于每一个订单,你都需要驾驶宇宙飞船,从坐标 处出发,将外卖送到坐标 处。
在运送每一单外卖时,宇宙中都会随机开启一个虫洞,其两端分别位于坐标 和 。通过这个虫洞,你可以:
- 瞬间从 传送到 ;
- 瞬间从 传送到 ;
并且不需要经过 与 之间的那段距离。
注意:
- 这个虫洞只在当前订单运送期间存在;
- 不同订单之间的虫洞互不影响,也不能共用。
对于每一个订单,你需要求出:宇宙飞船实际行驶的最短距离是多少。
输入格式
从文件 whynotjump.in 中读入。
第一行一个整数 ,表示订单数量。
接下来 行,每行四个整数 ,分别表示订单起点、终点坐标以及虫洞的两端坐标。
输出格式
输出到文件 whynotjump.out 中。
共 行,每行一个整数,表示对应订单中宇宙飞船运送的最短距离。
输入输出样例
输入样例 1
3
4 10 8 2
89 84 15 78
41 94 92 82
输出样例 1
4
5
43
样例 1 说明
对于第一组数据:
- 直接从 到 ,距离为 ;
- 也可以从 开到 ,距离为 ,再通过虫洞瞬间到达 ,最后从 开到 ,距离为 。
因此最短距离为:
对于第二组数据:
- 直接走的距离为 ;
- 使用虫洞并不能更优。
所以答案为 。
对于第三组数据:
- 直接走的距离为 ;
- 若先从 到 ,距离为 ,通过虫洞到 ,再从 到 ,距离为 ;
- 总距离为 。
因此答案为 。
样例 2
见下发压缩包中 与 。
京公网安备 11011102002149号