HDU1724 Ellipse 发表于 2018-08-30 | 分类于 HDU | 字数统计: 122 字 题目链接 题解可以直接用数值积分,也可以查积分表。 123456789101112131415161718192021222324#include <cstdio>#include <cmath>using namespace std; double a, b, L, R;void init(){ scanf("%lf%lf%lf%lf", &a, &b, &L, &R);}double FF(double x){ return b * (x * sqrt(a * a - x * x) / 2 + a * a * asin(x / a) / 2) / a;}void solve(){ if(L < -a) L = -a; if(R > a) R = a; printf("%.3lf\n", (FF(R) - FF(L)) * 2);}int main(){ int T; scanf("%d", &T); while(T--){ init(); solve(); } return 0;}