HDU 2438 Turn the corner 计算几何+三分
2015-06-10 17:16
357 查看
题意:给你一个直角弯 宽度分别为x y 再给你一辆汽车 长和宽分别为 l w 问你这辆车能不能转过这个直角弯
思路:汽车能不能转过弯 只需看会不会碰到内角即可 至于能不能碰到内角 我们以汽车左边线建立方程 判断即可
思路:汽车能不能转过弯 只需看会不会碰到内角即可 至于能不能碰到内角 我们以汽车左边线建立方程 判断即可
#include <cstdio> #include <cmath> #include <cstdlib> using namespace std; const double eps = 1e-8; const double PI = acos(-1.0); double x, y, l, w; double F(double a){ return ( x - l * sin(a) - w / cos(a) )/ tan(a); } void solve(){ double l = 0, r = PI / 2, m, mm; if(x - eps <= w || y - eps <= w){ //这里需要注意 如果一开始汽车的宽度就大于等于路的宽度 就直接输出no printf("no\n"); return; } while(l + eps < r){ m = (l + r) / 2; mm = (m + r) / 2; if(-F(m) > -F(mm)) r = mm; else l = m; } if(-F(l) <= y ) printf("yes\n"); else printf("no\n"); } int main() { while(~scanf("%lf%lf%lf%lf", &x, &y, &l, &w)) solve(); return 0; }
相关文章推荐
- 运维角度浅谈Mysql数据库优化
- C#高级编程第八天----Main()函数
- 如何控制 Internet Explorer 浏览器的进程数量? - 易宝典(MVP 撰稿)
- laravel 5.0 artisan 命令列表(中文简体)
- 你是码农么?!
- 《构建之法》第10、11、12章
- xampp1.8.3 配置 php5.x 访问 SQL Server 2008
- windows phone 8.0 app 移植到windows10 app 页面类
- mysql 更新sql脚本: you are using safe update mode and you tried to update a table
- linux下的数据备份工具rsync
- 负载均衡 说明
- 2015年第十四周oj刷提:C++ 习题 输出日期时间--友元函数
- Reverse Integer
- 如何构建真正的集群?
- Jquery.KinSlideshow图片轮播插件
- POJ 2299
- PHP垃圾回收机制引用计数器概念
- ETAP中谐波源数据
- make clean与make distclean的区别
- ios 判断相册 相机 位置权限