UVA 10209 - Is This Integration

来源:互联网 发布:1024程序员节 编辑:程序博客网 时间:2024/06/05 05:17

题目就是给出正方形的边长,然后给出如下的一幅图,让求出不同花色的面积

\"UVA

本来以为用最简单的容斥原理就可以求出不同部分的面积,后来发现根本不能,看了一下题目:“要算积分吗?”我的回答差点是:要,不过后来明白了,不用积分就可以算,只需要做两条辅助线即可,CD边的中点下面正对的那条点记作E,连接AE,BE,便出现了一个三角形,然后就可以根据容斥原理求出来,

 

code:

 

#include<cstdio>
#include<cmath>
#define PI 3.141592653589
int main()
{
    double a;
    while(scanf(\"%lf\",&a)!=EOF)
    {
        double rest=4*(a*a-PI*a*a/6-sqrt(3.0)*a*a/4);
        double dotted=4*(a*a-PI*a*a/4-2*(a*a-PI*a*a/6-sqrt(3.0)*a*a/4));
        double striped=a*a-rest-dotted;
        printf(\"%.3lf %.3lf %.3lf\\n\",striped,dotted,rest);
    }
    return 0;
}