
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