#P13846. [CERC 2023] Ball Passing

[CERC 2023] Ball Passing

Description

一群学生刚上完数学课,正准备去上体育课。老师要求他们排成一个圆圈。经过几分钟在操场上的忙乱走动,他们终于站好了,形成了一个严格凸多边形。虽然他们并不都在同一个圆上,但老师至少对这个结构已经满意了。

在这群共有 NN 个学生的人群中,男生人数是偶数,女生人数也是偶数。由于他们要进行两两配对的传球练习,因此老师必须将他们配对。配对要求是:男生只能与男生配对,女生只能与女生配对。

学校管理层决定应对学生体能下降的问题,因此他们为传球练习设定了一项质量指标:即在一次完整传球轮次中,所有配对之间的传球距离之和。请帮助老师为学生们进行配对,使得这一指标最大化。

Input Format

第一行包含一个整数 NN,表示学生人数。

第二行包含一个长度为 NN 的字符串 SS,描述了多边形周长上学生的顺序,其中字符 "B" 表示男生,字符 "G" 表示女生。

接下来的 NN 行,每行包含两个用空格分隔的整数 Xi,YiX_i, Y_i,表示按字符串 SS 给出的顺序对应的学生的坐标。

Output Format

输出一个实数,表示通过合理配对学生所能获得的最大传球距离。若输出的结果与官方解答相比的相对或绝对误差不超过 10610^{-6},则视为正确。

4
BGBG
0 0
0 1
1 1
1 0
2.828427125
4
GGBB
0 0
0 1
1 1
1 0
2
12
GBGBBGBBBBGB
0 -15
6 -14
19 -5
17 7
11 12
1 15
-9 13
-15 10
-17 8
-19 4
-16 -9
-13 -11
186.529031603

Hint

输入限制

  • 2N502 \leq N \leq 50
  • 男生和女生的人数均为偶数。注意其中某一性别的人数可能为 0。
  • 坐标 Xi,YiX_i, Y_i 的绝对值不超过 10000。

翻译由 ChatGPT-5 完成