信用卡凸包

信用卡凸包

测试数据来自 system/1855

描述

信用卡是一个矩形,唯四个角作了圆滑处理,使它们都是与矩形的两边相切的 1/4 圆,如下图所示。现在平面上有一些规格相同的信用卡,试求其凸包的周长。注意凸包未必是多边形,因为它可能包含若干段圆弧。

格式

输入格式

输入的第一行是一个正整数 n,表示信用卡的张数。
第二行包含三个实数 a, b, r,分别表示信用卡(圆滑处理前)竖直方向的长度、水平方向的长度,以及 1/4 圆的半径。
之后 n 行,每行包含三个实数 x, y, θ,分别表示一张信用卡中心(即对角线交点)的横、纵坐标,以及绕中心逆时针旋转的弧度。

输出格式

输出只有一行,包含一个实数,表示凸包的周长,四舍五入精确到小数点后2位。

样例1

样例输入1

2 
6.0 2.0 0.0 
0.0 0.0 0.0 
2.0 -2.0 1.5707963268

样例输出1

21.66

样例2

样例输入2

3 
6.0 6.0 1.0 4.0
4.0 0.0 0.0 8.0
0.0
0.0 0.0 0.0

样例输出2

41.60

样例3

样例输入3

3
6.0 6.0 1.0
4.0 4.0 0.1745329252 0.0
8.0 0.3490658504
0.0 0.0 0.5235987756

样例输出3

41.63

限制

编号 n r θ
1 n = 1 / /
2 n = 2 r = 0.0 所有的 θ 均为 0.0
3 n = 2 / 所有的 θ 均为 0.0
4 n = 2 r = 0.0 /
5 n = 2 / /
6 1 ≤ n ≤ 100 / 所有的 θ 均为 0.0
7 1 ≤ n ≤ 100 / /
8 1 ≤ n ≤ 10,000 / 所有的 θ 均为 0.0
9 1 ≤ n ≤ 10,000 r = 0.0 /
10 1 ≤ n ≤ 10,000 / /

来源

SHTSC 2012 Day1

信息

ID
1880
难度
(无)
分类
(无)
标签
递交数
0
已通过
0
通过率
?
上传者