设为首页 加入收藏

TOP

uva 10566 - Crossed Ladders
2014-11-23 21:12:47 来源: 作者: 【 】 浏览:6
Tags:uva 10566 Crossed Ladders
#include
#include
#include
#define sqr(a) ((a)*(a))
#define eps 1e-8

using namespace std;

int sig(double a)
{
    return (a>eps)-(a<-eps);
}
int main()
{
    double x,y,c;
    double l,r,mid,tmp;
    while(cin>>x>>y>>c)
    {
        if(sig(x-y)>0)
        {
            l=x;x=y;y=l;
        }
        x=sqr(x);y=sqr(y);
        l=sqrt(x-sqr(2*c));
        r=y-sqr(2*c);
        if(sig(r-x)>=0) r=x;
        r=sqrt(r);
        mid=(l+r)/2;
        while(sig(r-l)>0)
        {
            tmp=c/sqrt(y-sqr(mid))+c/sqrt(x-sqr(mid));
            if(sig(tmp-1)==0) break;
            else if(sig(tmp-1)>0) r=mid;
            else l=mid;
            mid=(l+r)/2;
        }
        cout< 
 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 2823 Sliding Window (RMQ +.. 下一篇 poj 1637 混合欧拉回路 网络流 d..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解c语言指针和 (2025-12-27 01:19:11)
·为什么C标准库没有链 (2025-12-27 01:19:08)
·玩转C语言和数据结构 (2025-12-27 01:19:05)
·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)