精度还是卡的很厉害.....,改成1e-12也会wa
#include"bits/stdc++.h"
using namespace std;
const double PI = acos(-1.0);
const double eps = 1e-13;
double sqr(double x) {
return x*x;
}
int main() {
#ifdef LOCAL
freopen("input.txt","r",stdin);
#endif // LOCAL
int T,n;
double r1,r2;
scanf("%d",&T);
while(T--) {
scanf("%lf%lf",&r1,&r2);
scanf("%d",&n);
if(r1 < r2) swap(r1,r2);
double r3 = r1-r2;
double ans = r3*r3;
double R = 2*r1;
double l1 = R, l2 = sqr(R)/(2*r2);
double r = (l2-l1)/2;
for(int i = 1, j = 2; i < n; i+=2, j+=2) {
double t = sqrt(sqr(R+r) + sqr(j*r));
double p1 = t-r, p2 = t+r;
double rr = (sqr(R)/p1 - sqr(R)/p2)/2;
double s = rr*rr;
if(s < eps) break;
if(i+1 == n) ans += s;
else ans += 2*s;
}
printf("%.5f\n",ans*PI);
}
return 0;
}