#P16486. [Ural1397]Points Game点的游戏

[Ural1397]Points Game点的游戏

题目背景

两名学生在平面上的若干个点之间进行一场涂色游戏。

第一名学生使用白色,第二名学生使用黑色。两人都能看到所有点的位置,并且会采用最优策略,希望让自己的最终得分尽可能高,同时阻止对手获得更高的分数。

题目描述

平面上给定 2n2n 个点,第 ii 个点的坐标为 (xi,yi)(x_i,y_i)

两名学生轮流选择一个尚未涂色的点,并将它涂成自己的颜色:

  • 第一名学生在奇数回合行动,将点涂成白色;
  • 第二名学生在偶数回合行动,将点涂成黑色。

当所有点均被涂色后,双方都恰好选择了 nn 个点,游戏结束。

一名学生的得分定义为:所有被该学生涂成同一种颜色的点对之间的欧氏距离之和。

若某名学生选择的点集为 SS,则其得分为

$$\sum_{\substack{i<j\\i,j\in S}} \sqrt{(x_i-x_j)^2+(y_i-y_j)^2}.$$

双方都会采用最优策略。请计算最终获胜者与失败者的得分之差。

输入格式

输入包含若干组测试数据,持续读入直到文件结束(EOF)。

每组测试数据的第一行包含一个正整数 nn

接下来 2n2n 行,每行包含两个实数 xi,yix_i,y_i,表示一个点的坐标。

输出格式

对于每组测试数据,输出一行,表示双方采用最优策略时,获胜者与失败者的得分之差。

答案保留小数点后三位。

样例输入

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

样例输出

0.000
1.937

数据范围

对于每组测试数据:

  • 1n5001\le n\le 500
  • 输入中的坐标均为合法有限实数。

输入没有测试数据组数,也没有结束标记,应读到 EOF 为止。