hdu5858 Hard problem

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dd_lucky/article/details/52249992

Hard problem


题目链接:点击打开链接

题意:求正方形里的一个阴影面积


ps:这是一道小学竞赛题

思路:我们先求出就ACE和AOE的角度出来然后根据角度求出两个扇形的面积,三角形CAO面积用海伦公式

代码如下:

#include<bits/stdc++.h>
using namespace std;
const double pi=3.14159265358979323846;
int main()
{
	int t,n;
	scanf("%d",&t);
	while(t--)
	{
		double s1=0,s2=0,s3=0,s4=0;
		scanf("%d",&n);
		double  b=n/(2*1.0),a=n,c=n/sqrt(2*1.0);
		double p=(a+b+c)/(2*1.0);
		s3=sqrt(p*(p-a)*(p-b)*(p-c));//三角形的面积
		s1=pi-acos((-sqrt(2)*1.0)/4);
		s2=acos((5*sqrt(2)*1.0)/8);
		double ss1=(s1/(2))*(b*b);//扇形AOE的面积
		double ss2=(s2/(2))*(a*a);//扇形ACE的面积
		//printf("%lf %lf %lf \n",s3,ss1,ss2);
		printf("%.2lf\n",(s3+ss1-ss2)*4);
	}
}
 


 

猜你喜欢

转载自blog.csdn.net/dd_lucky/article/details/52249992