× 1005 题面更新,请注意。

杏杏和正方形和矩形

Accepts: 28
Submissions: 399
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
在二维坐标平面上,有一个正方形,它的四个顶点是$(1,1),(0,0),(0,1),(1,0)$。现在杏杏随便选出了四个正方形边界上的点。对于每一个点,你都可以沿着正方形的边界按照顺指针或逆时针方向移动任意距离。你可以不移动任意一个点,也可以依次移动多个点。你的目标是:为每个点选择正方形的一条边上的一个位置,且为不同的点选择不同的边,使得这四个点组成一个矩形的四个顶点。问四个点的移动距离的和至少是多少。(两条邻边上的点所选的位置可以重合在这两条邻边共用的顶点。矩形的面积可以为$0$,此时要求矩形的四个顶点去重后恰好有两个点。)
Input
第一行一个整数$n$表示数据组数($1\le n\le 100$)。 接下来每组数据四行,每行两个实数$x$和$y$表示一个点的坐标。 所有实数最多有$7$位小数,所有点均保证在题目中的正方形的边界上。(允许多个点的初始位置重合或者处于正方形的同一条边上。)
Output
对于每组数据输出一行一个实数表示答案,保留12位小数。
Sample Input
2
0 0
1 1
0 1
1 0
0.12 1.00
.91 .0
1. .08
0 .89
Sample Output
0.000000000000
0.060000000000