相似三角形
分两种情况讨论
1.水少形成一个三角形
2.水多形成一个
代码
#include <bits/stdc++.h> using namespace std; int main() { double h, l, H, L; scanf("%lf%lf%lf%lf", &h, &l, &H, &L); if (h * L <= H * l) printf("%.8f\n", h * h * L / (2 * H)); else printf("%.8f\n", (2 * h * L * l - H * l * l) / (2 * L)); return 0; }