HDU

来源:互联网 发布:python高并发解决方案 编辑:程序博客网 时间:2024/05/24 04:33

HDU - 5858 

题意:...高中求面积的题?:)虽然题目说是小学可我强行要看成高中的!


通过(bd+bc)^2 + ad^2 = ac^2可以算出sin∠bad的值,然后的事情就很简单了。

#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <set>#include <cmath>using namespace std;const double pi = acos(-1.0);double comarea(){    double ja = asin(sqrt(2.0)/4.0);    double ba = 0.5*sin(ja),           bb = ba + (double)sqrt(2.0)/2.0;    double jb = pi/2.0 - ja,           bc = 0.5*sin(jb);    double jc = asin(bc);    double aarea = jc - bb*bc,barea = bc*ba,carea = 0.25 * jb;    return carea - (aarea + barea);}int main(){    int t;    double n;    double a1 = comarea()*2.0;    scanf("%d",&t);    while(t--)    {        cin >> n;        double ans = n*n*a1;        printf("%.2lf\n",ans);    }return 0;}


原创粉丝点击