题目描述
在二维平面上,两点 (x1,y1) 和 (x2,y2) 之间的曼哈顿距离是 ∣x1−x2∣+∣y1−y2∣ 。如果一个点的两个坐标都是整数,那么我们称这个点为整数点。
给定二维平面上的两个圆 C1,C2 ,并保证 C1 中任意一点的 x 坐标与 C2 中任意一点的 x 坐标不同,且 C1 中任意一点的 y 坐标与 C2 中任意一点的 y 坐标不同。
每个圆都由两个整数点描述,连接两点的线段代表圆的直径。
现在需要在 C2 内或 C2 上选择一个点 (x0,y0) ,使得从 (x0,y0) 到 C1 内的点的曼哈顿距离的期望值最小(从 C1 内所有实数坐标点中均匀概率地选择一点)。
输入格式
第一行包含一个整数 t(1≤t≤105) 。表示测试用例的数量。
第一行包含 4 个整数 x1,1,y1,1,x1,2,y1,2 ,代表连接 (x1,1,y1,1) 和 (x1,2,y1,2) 的线段,是圆 C1 的直径。
第二行包含 4 个整数 x2,1,y2,1,x2,2,y2,2 ,表示连接 (x2,1,y2,1) 和 (x2,2,y2,2) 的线段,是圆 C2 的直径。
所有输入的坐标都是范围为 [−105,105] 的整数。
输出格式
对于每个测试案例,输出一个实数表示最小预期曼哈顿距离。
如果答案的相对误差不超过 10−6 ,则视为正确答案。也就是说,如果你的答案是 a ,而答案是 b ,那么如果 max(1,∣b∣)∣a−b∣≤10−6 ,答案也视为正确。
样例
1
0 0 2 1
4 5 5 2
4.2639320225