#3192. [SHOI2012] 信用卡凸包
[SHOI2012] 信用卡凸包
题目背景
SHOI2012D1T2
题目描述
信用卡是一个矩形,唯四个角作了圆滑处理,使它们都是与矩形的两边相切的 1/4 圆,如下图所示。现在平面上有一些规格相同的信用卡,试求其凸包的周长。注意凸包未必是多边形,因为它可能包含若干段圆弧。
输入格式
输入的第一行是一个正整数 n,表示信用卡的张数。第二行包含三个实数 a, b, r,分别表示信用卡(圆滑处理前)竖直方向的长度、水平方向的长度,以及 1/4 圆的半径。
之后 n 行,每行包含三个实数 x, y, θ,分别表示一张信用卡中心(即对角线交点)的横、纵坐标,以及绕中心 逆时针旋转的 弧度。
输出格式
输出只有一行,包含一个实数,表示凸包的周长,四舍五入精确到小数点后2 位。
提示
样例1说明:
本样例中的 2 张信用卡的轮廓在上图中用实线标出,如果视 1.5707963268为pi/2,那么凸包的周长为16+4sqrt(2)
样例2说明:
样例3说明:
其凸包的周长约为41.628267652。
本题可能需要使用数学库中的三角函数。不熟悉使用方法的选手,可以参考下面的程序及其输出结果:
输出结果:0.5000000000
0.5000000000
1.0000000000
1.5707963268
1.5707963268
0.7853981634
数据范围: