#2829. 信用卡凸包

内存限制:128 MiB 时间限制:10000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: cookiebus

题目描述

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

Screen Shot 2019-12-27 at 11.30.46 AM.png

输入格式

输入第一个行一个正整数n,表示信用卡张数。

第二行包含三个实数a,b,r,分别表示信用卡(圆滑处理前)竖直方形的长度、水平方向的长度以及1/4圆的半径

之后n行,每行包含三个实数x,y,z,分表表示一张信用卡中心(即对角线交点)的横、纵坐标,以及绕中心逆时针旋转的弧度。

输出格式

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

样例

输入样例:

2  
6.0 2.0 0.0  
0.0 0.0 0.0  
2.0 -2.0 1.5707963268  

输出样例:

21.66  

数据范围与提示

Screen Shot 2019-12-27 at 11.31.33 AM.png

本样例中的2张信用卡的轮廓在上图中用实线标出,如果视1.5707963268为Pi/2(pi为圆周率),则其凸包的周长为16+4*sqrt(2)