阅读程序【CSP 2021 提高级第一轮1】
#include <iostream>
#include <cmath>
using namespace std;
const double r = acos(0.5);
int al, bl, cl, d1;
int a2, b2, c2, d2;
inline int sq(const int x) { return x * x; }
inline int cu(const int x) { return x * x * x; }
int main()
{
cout.flags(ios::fixed);
cout.precision(4);
cin >> al >> bl >> cl >> d1;
cin >> a2 >> b2 >> c2 >> d2;
int t = sq(al - a2) + sq(bl - b2) + sq(cl - c2);
if (t <= sq(d2 - d1)) cout << cu(min(d1, d2)) * r * 4;
else if (t >= sq(d2 + d1)) cout << 0;
else {
double x = (d1 - (sq(d1) - sq(d2) + t) / sqrt(t)) / 2;
double y = (d2 - (sq(d2) - sq(d1) + t) / sqrt(t)) / 2;
cout << (x * x * (3 * d1 - x) + y * y * (3 * d2 - y)) * r;
}
cout << endl;
return 0;
}
假设输入的所有数的绝对值都不超过 1000 ,完成下面的判断题和单选题: