#P1418. Viva Confetti
Viva Confetti
描述
你见过五彩纸屑吗?它们是一些彩色的小圆纸片,人们在派对或节日时会抛撒它们。由于人们会抛撒大量纸屑,这些纸屑可能会层层堆叠,因此有些纸屑会被压在下面看不见。
现在有一堆大小不一的五彩纸屑被撒在桌面上。给定它们的位置和大小,你能计算出有多少纸屑是可见的吗?
下图展示了第一个样例输入对应的纸屑分布情况,其中底部的纸屑仍然可见。
输入
输入由若干组数据组成,每组数据的格式如下:
n
x1 y1 r1
x2 y2 r2
...
xn yn rn
每组数据的第一行是一个整数 ,表示纸屑的数量( 是一个不超过 100 的正整数),随后 行分别描述每张纸屑的信息:圆心的坐标和半径,用十进制实数表示,最多包含 12 位小数。数据的不精确容差为 。也就是说,可以保证输入值的微小变化(小于 )不会影响哪些纸屑是可见的。所有纸屑覆盖的点的坐标范围在 到 之间。
纸屑按堆叠顺序列出, 是最底部的纸屑, 是最顶部的纸屑。观察者是从顶部向下看的。
输入以单独一行的 结束。
输出
对于每组数据,输出一行,表示可见的纸屑数量。
输入样例 1
3
0 0 0.5
-0.9 0 1.00000000001
0.9 0 1.00000000001
5
0 1 0.5
1 1 1.00000000001
0 2 1.00000000001
-1 1 1.00000000001
0 -0.00001 1.00000000001
5
0 1 0.5
1 1 1.00000000001
0 2 1.00000000001
-1 1 1.00000000001
0 0 1.00000000001
2
0 0 1.0000001
0 0 1
2
0 0 1
0.00000001 0 1
0
输出样例 1
3
5
4
2
2
来源
Japan 2002 Kanazawa