
10 6 13.5 4 10 6 14.5 4
yes no
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const double pi=acos(-1.0);
const double eps=1e-6;
double x,y,l,w;
double solve(double angle)
{
    return (-x+l*sin(angle)+w/cos(angle))/tan(angle);
}
int main()
{
    while(~scanf("%lf%lf%lf%lf",&x,&y,&l,&w))
    {
        double l=0,r=pi/2,mid1,mid2;
        while(l+eps<r)
        {
            mid1=l+(r-l)/3;
            mid2=r-(r-l)/3;
            if(solve(mid1)>solve(mid2))
            r=mid2;
            else
            l=mid1;
        }
        if(solve(l)<y)
        printf("yes\n");
        else
        printf("no\n");
    }
    return 0;
}
原文地址:http://blog.csdn.net/caduca/article/details/43487677