UVA 10209 Is This Integration ?

来源:互联网 发布:存钱不如存人 知乎 编辑:程序博客网 时间:2024/06/06 13:04
Problem C
Is This Integration ?

Input: Standard Input
Output: Standard Output
Time Limit: 3 seconds

 

In the image below you can see a square ABCD, where AB = BC = CD = DA = a. Four arcs are drawn taking the four vertexesA, B, C, D as centers and a as the radius. The arc that is drawn takingA as center, starts at neighboring vertex B and ends at neighboring vertexD. All other arcs are drawn in a similar fashion. Regions of three different shapes are created in this fashion. You will have to determine the total area if these different shaped regions.  

 

 

Input

The input file contains a floating-point number a (a>=0 a<=10000) in each line which indicates the length of one side of the square. Input is terminated by end of file.  

 

Output

For each line of input, output in a single line the total area of the three types of region (filled with different patterns in the image above). These three numbers will of course be floating point numbers with three digits after the decimal point. First number will denote the area of the striped region, the second number will denote the total area of the dotted regions and the third number will denote the area of the rest of the regions.

 

Sample Input:

0.1
0.2
0.3

Sample Output:

0.003 0.005 0.002
0.013 0.020 0.007
0.028 0.046 0.016
 
解法,先弄一个等边三角形出来,AE=BE=AB.然后就把正方形面积-等边三角形-2个k的面积(k即使两个小扇形)
注意 Pi的大小定义成acos(-1)  3.1415926不精确!!!!
#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>#define Pi acos(-1)using namespace std;int main(){double a;while (~scanf("%lf",&a)){double s=0,x,y,z;s=sqrt(3.0)*a*a/4.0+Pi*a*a/6.0;z=4*(a*a-s);y=4*(a*a-Pi*a*a/4-z/2);x=a*a-z-y;printf("%.3lf %.3lf %.3lf\n",x,y,z);}return 0;}