zoukankan      html  css  js  c++  java
  • hdu 2348 Turn the corner(三分&&几何)(中等)

    Turn the corner

    Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2229    Accepted Submission(s): 856


    Problem Description
    Mr. West bought a new car! So he is travelling around the city.

    One day he comes to a vertical corner. The street he is currently in has a width x, the street he wants to turn to has a width y. The car has a length l and a width d.

    Can Mr. West go across the corner?
                                                 



    Input
    Every line has four real numbers, x, y, l and w.
    Proceed to the end of file.
     

    Output
    If he can go across the corner, print "yes". Print "no" otherwise.
     

    Sample Input
    10 6 13.5 4 10 6 14.5 4
     

    Sample Output
    yes no



    题意:

    已知汽车的长和宽,l和w。以及俩条路的宽为x和y。汽车所处道路宽为x 。问汽车是否能顺利转弯?

    分析:汽车是否能顺利转弯取决于在极限情况下,随着角度的变化,汽车离对面路的距离是否大于等于0

    如图中



    在上图中须要计算转弯过程中h 的最大值是否小于等于y非常明显。随着角度θ的增大,最大高度h先增长后减小,即为凸性函数。能够用三分法来求解

    代码:

    #include<iostream>
    #include<algorithm>
    #include<math.h>
    #include<cstdio>
    using namespace std;
    #define pi 3.141592653
    double x,y,l,w;
    double cal(double a)
    {
        double s=l*cos(a)+w*sin(a)-x;
        double h=s*tan(a)+w*cos(a);
        return h;
    }
    int main()
    {
        while(scanf("%lf %lf %lf %lf",&x,&y,&l,&w)!=EOF)
        {
            double left=0.0,right=pi/2;
            double lm,rm;
            while(fabs(right-left)>1e-6)
            {
                lm=(left*2.0+right)/3.0;
                rm=(left+right*2.0)/3.0;
                if(cal(lm)>cal(rm))
                    right=rm;
                else left=lm;
            }
            if(cal(left)<=y)
                printf("yes
    ");
            else printf("no
    ");
        }
        return 0;
    }
    
    
  • 相关阅读:
    scikit-learn算法选择路径图
    mac 添加new file.md
    mac-VBox-Centos6.6安装增强功能
    VirtualBox中安装CentOS使得在ssh和外网都能正常链接
    vboxnetctl: no such file or directory
    mac vim 配色
    埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 B合约数
    codeforces 965E Trie+multiset
    bzoj 4337 树的同构
    codeforces 963B Destruction of a Tree
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6690643.html
Copyright © 2011-2022 走看看