描述
坐标系下有若干个等腰直角三角形,且每个等腰直角三角形的直角顶点都在左下方,两腰与坐标轴平行。被奇数个三角形覆盖的面
积部分为灰色,被偶数个三角形覆盖的面积部分为白色,如下图所示。
已知 NN个等腰直角三角形的顶点坐标及腰长,求灰色部分面积。
输入输出格式
输入格式:
输入第一行包含一个整数 NN,表示等腰直角三角形数量。
接下来 NN行,每行三个整数 X, Y, RX,Y,R,分别表示等腰直角三角形的顶点坐标 (X, Y)(X,Y)与腰长 RR。
输入输出样例
输入样例#1: 复制
31 1 27 1 65 3 4
输出样例#1:
24.0
这是自己做出的第一道容斥题(除了一些SB容斥),虽然这道题也不算太难,而且我做了一个晚上。总之就是自己在容斥上还是太菜了。
还是来说题吧。首先要会求多个三角形的交。显然这道题中两个等腰直角的交还是一个等腰直角三角形。我的做法是分类讨论,不如洛谷上题解那么简洁,于是就不说了。
重点是算出容斥系数。我们设个三角形的交的容斥系数为。显然。对于,的情况,我们先设初值,显然如果为奇数,那么初值为1,否则为0。然后我们要容斥去重。。计算个三角形的交的时候,个三角形的交会被计算次。
然后通过观察证明可以知道。
代码:
#include #include #include #include #include #include #include #include