• 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;
    }
    
    
  • 相关阅读:
    软件工程之开发过程
    软件工程设计之四则运算
    Android笔记-5-EditText密码和Checkbox二选一
    Android笔记-4-实现登陆页面并跳转和简单的注册页面
    Android笔记-3-EditText的属性介绍
    Android笔记-2-TextView的属性详解
    Android笔记-1
    Microsoft Build 2015
    网络受限是个什么东东?
    几乎所有编程语言的hello, world程序(3)
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6690643.html
Copyright © 2020-2023  润新知