#2279. [Ncpc2010]Around the track

[Ncpc2010]Around the track

题目描述

给你一个图。你找一条欧拉回路出来,使得沿这条路转过的角度最小。

图很特殊,一个结点出来,要么恰好有 22 条边,或者恰好有 44 条边。

一个欧拉回路,即它必须遍历每个图形的边恰好一次,并回到起点(输入的跑道保证其欧拉回路的存在)。

总的转弯弧度就是在这个回路中, 在每个结点处需要的转弯弧度的总和,在一条直线上继续行进不用转弯。

每一段跑道都是可以双向行驶的。

输入格式

第一行两个整数 n,mn,m,分别表示点数和边数。

接下来 nn 行,依次组出每个结点的坐标 (x,y)(x,y) ,每个结点的坐标是唯一的。

接下来 mm 行,每行两个数 u,vu,v,表示存在边 (u,v)(u,v)(结点从 00 开始编号)。

输出格式

欧拉回路上最小的所需转弯的弧度和。

12 19
1077 2677
7473 4262
1095 8844
84 7875
7241 7320
9143 4888
4524 1947
4652 1260
3503 7882
4692 223
9745 5245
2037 2387
0 1
0 2
1 4
1 2
1 3
3 4
4 6
4 5
5 8
5 6
5 7
6 8
6 7
7 9
7 8
8 9
9 11
9 10
10 11
37.699111843077446

数据规模与约定

对于 100%100\% 的数据,3n1043\leq n\leq 10^4nm2nn\leq m\leq 2n0x,y1040\leq x,y\leq 10^4