Dotcpp  >  编程题库  >  蓝桥杯算法提高VIP-Crystal clear
题目 1956:

蓝桥杯算法提高VIP-Crystal clear

时间限制: 3s 内存限制: 192MB 提交: 3 解决: 0

题目描述

一个高新技术公司研制了一种绝缘的新材料,这种材料由晶体和晶体赖以生长的网格矩形组成,网格上生长点的间隔距离为1cm。晶体就是由这些生长点为向外生长,直到生长出直径为1cm的一个圆。
应用这种新材料需要将网格切割成块。在切割中存在一个问题,在切割过程中一些晶体可能被破坏。当晶体圆片被切割,并且切割不过圆片的中心时,晶体的绝缘性能被破坏(切割线与晶体圆片相切时,仍不破坏晶体的绝缘性能)。

于是,一个材料块的有效容量就是其包含的未被破坏的晶体(或晶体的一部分)的总面积。下图给出了一个实例,阴影部分是未被破坏的晶体。

你的任务就是测量统计一个给定材料块的有效容量。
注意:任何不经过圆心的割线都会使被割的圆完全失效。

输入格式

输入包括一组多边形的顶点序列。每一个描述多边形的数据包括一个正整数N,表示顶点总数。以下有N行,每行两个整数x和y,表示一个顶点。所有顶点按照顺时针排列,并且坐标的绝对值不超过250。当N=0时表示输入结束。

输出格式

对于每一个有效的多边形,输出其有效容量,精确到小数点后3位。

样例输入

5
0 2
3 5
6 3
6 0
1 0
0

样例输出

15.315

提示

零基础的同学可以先学习基础,教程见:  C语言教程C++教程编译器教程数据结构教程Python教程单片机教程

视频教学见视频网课

标签