Turn the corner
TimeLimit:1 Second MemoryLimit:32 Megabyte
Totalsubmit:661 Accepted:184
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
double Cal(double L)
{
double s = l * cos(L) + w * sin(L) - x;
double h = s * tan(L) + w * cos(L);
return h;
}
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
#define PI 3.1415926535897932384626
const double EPS = 1e-10;
double x,y,l,w;
double Cal(double L)
{
double s = l * cos(L) + w * sin(L) - x;
double h = s * tan(L) + w * cos(L);
return h;
}
double Solve(void)
{
double Left, Right;
double mid, midmid;
double mid_value, midmid_value;
Left = 0; Right = PI*0.5;
while (Left + EPS < Right)
{
mid = (Left + Right) / 2;
midmid = (mid + Right) / 2;
mid_value = Cal(mid);
midmid_value = Cal(midmid);
if (mid_value >= midmid_value) Right = midmid;
else Left = mid;
}
return Cal(Left);
}
int main()
{
freopen("in.txt","r",stdin);
while(cin>>x>>y>>l>>w)
{
if(x<w||y<w) cout<<"no"<<endl;
else
{
double H = Solve();
if(H>0&&H<y) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
}
return 0;
}
分享到:
相关推荐
Fragment是Android应用开发中的一个重要组件,它首次在API 11(Android 3.0 Honeycomb)中引入,主要是为了解决在大屏幕设备如平板电脑上更好地展示和管理UI内容的问题。Fragment允许开发者将一个应用程序界面划分为...
【标题】哈尔滨工程大学精品课程网站是一个集合了该校优质教育资源的在线学习平台,旨在提供丰富的课程内容,促进教育公平和教学质量的提升。该网站可能涵盖了众多学科领域,如计算机科学、电子工程、机械工程、海洋...
在Android开发中,实现“Android Login”功能是一个基础但至关重要的任务,这涉及到与服务器的交互,用户身份验证,以及安全通信。以下是一些相关的知识点: 1. **网络服务**:Android应用程序通常需要通过网络服务...
String UNIQUE_STRING = "edu.hrbeu.BroadcastReceiverDemo"; Intent intent = new Intent(UNIQUE_STRING); ``` 2. 添加额外数据:如果需要在Intent中传递数据,可以使用`putExtra()`方法。例如,添加两个键值对: `...
package="edu.hrbeu.IntentDemo" android:versionCode="1" android:versionName="1.0"> android:label="@string/app_name"> 结论 组件通信和广播消息是 Android 系统中的一种机制,用于...
杭州电子科技大学(HDU)、浙江大学(ZJU)、北京大学(PKU)、同济大学(TJU)、浙江工商(Zjgsu)、宁波理工(NIT)、北京化工大学(BUCT)、...科技大学(swust)、哈尔滨工程大学(hrbeu)、华东理工大学(ecust)...
6. 设置包名称,通常采用Java包的命名规则,如`edu.hrbeu.HelloAndroid`,以确保全局唯一。 7. 可选择是否自动生成Activity,Activity是Android程序的核心组件,代表一个屏幕或用户交互点。 8. 设置SDK最低版本,...
Android_push_v1.0.apk
- Main Repository (OSS)镜像:`http://mirror.hrbeu.edu.cn/pub/suse/opensuse/distribution/11.0/repo/oss/` 通过以上详细介绍,相信你已经了解了如何为Opensuse11.0添加各种软件源,以及如何利用这些源来安装所...
18. **哈尔滨工程大学 (HRBEU)** - <http://acm.hrbeu.edu.cn/> - 哈尔滨工程大学的ACM平台以其严谨的态度和高质量的服务受到了很多学生的好评。 - 提供了大量的实战题目,适合那些希望通过实际操作来提高编程能力...
<edu.hrbeu.ice.mobilecar.widget.TextViewSlide android:id="@+id/custom_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:...
19. **哈尔滨工程大学**(<http://acm.hrbeu.edu.cn>) - **特点**:题库涵盖广,适合长期练习。 - **适用人群**:适合所有级别的编程学习者。 20. **武汉大学**() - **特点**:题库全面,适合各种水平的学习...
BCGCBarProMFC25 默认编译器最高支持到VS2015,要在VS2017环境下使用需要修改项目配置文件和头文件。使用方法:将压缩包中的文件解压到BCG安装源代码位置,使用VS2017打开对应的项目进行编译即可。
在Windows系统托盘通过图标显示键盘大写按键(CapsLock)锁定状态,显示图标可以通过程序目录下的CapsLockOn.ico和CapsLockOff.ico两个图标文件进行设定,当这两个图标文件不存在时使用默认图标显示。...
源代码注释语句清除工具是一种实用程序,专门设计用于C和C++编程语言环境,其主要功能是移除源代码文件中的所有注释语句。这个工具对于那些需要进行代码混淆、减小代码体积或者处理敏感信息隐藏的场景特别有用。...
在Windows系统托盘通过图标显示数字小键盘数字输入(NumLock)锁定状态,显示图标可以通过程序目录下的NumLockOn.ico和NumLockOff.ico两个图标文件进行设定,当这两个图标文件不存在时使用默认图标显示。...