ZUFE 问题 L: 初中平面几何

比较简单的题目,注意掉精度的问题就ok,

#include<bits/stdc++.h>
 
using namespace std;
 
const int MAXN = 100000 + 10;
int n , m, a[MAXN];
 
int main()
{
    double a, b, r;
    cin >> r >> a >> b;
    double S = r * r * acos(-1.0) / 4;
    //cout << S << endl;
    double temp = b / r;
    S -= asin(temp) * r * r / 2 ;
    //cout << S << endl;
    temp = a / r;
    S -= asin(temp) * r * r / 2 ;
    //cout << S << endl;
    temp = sqrt(r * r - a * a) - b ;
    S -= temp * a / 2;
    //cout << S << endl;
    temp = sqrt(r * r - b * b) - a;
    S -= temp * b / 2;
    cout.precision(2);
    cout << fixed << S;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Ant_e_zz/article/details/80378109