相似三角形

分两种情况讨论
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;
}