LightOJ 1137 & Poj 1905 Expanding Rods
来源:互联网 发布:js 动态隐藏鼠标指针 编辑:程序博客网 时间:2024/04/28 23:10
题目链接 http://lightoj.com/volume_showproblem.php?problem=1137
http://poj.org/problem?id=1905
思路:二分,有两种方法,一种是二分角度,一种是二分h,速度没什么区别。
感觉LightOJ的精度要求要比Poj还要高些。
个人觉得这份解题报告写得很好,我就不重复了:
http://blog.csdn.net/lyy289065406/article/details/6648562
#include <stdio.h>#include <math.h>#define STD 1e-10 //1e-8会WA.........const double PI=acos(-1.0);double L,n,c,low,high,mid;double after,R;double Deal_alpha (){low=0;high=PI/2;while (high-low > STD){mid=(high+low)/2.0;if (L*mid-after*sin(mid) < 0) //写成小于1e-15或者1e-10居然就WA,我就无语了............low=mid;elsehigh=mid;}R=after/(mid*2);return R*(1-cos(mid));}double Deal_H (){low=0;high=0.5*L;while (high-low > STD){mid=(low+high)/2.0;R=(4*mid*mid+L*L)/(8*mid);if (2*R*asin(L/(2*R)) < after)low=mid;elsehigh=mid;}return mid;}int main (){int T;scanf("%d",&T);for (int cas=1;cas<=T;cas++){scanf("%lf%lf%lf",&L,&n,&c);after=(1.0+n*c)*L;//printf("Case %d: %.8lf\n",cas,Deal_H());printf("Case %d: %.8lf\n",cas,Deal_alpha());}return 0;}
- LightOJ 1137 & Poj 1905 Expanding Rods
- poj-1905 Expanding Rods
- poj 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905--Expanding Rods
- poj 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- POJ 1905 Expanding Rods
- poj 1905 Expanding Rods
- poj-1905-Expanding Rods
- POJ 1905 Expanding Rods
- poj 1905 Expanding Rods
- Linux使用apt-get安装软件时出现的问题
- C++ 归并排序 (升序)
- UEST 1353 切绳子
- 播放器
- 求值顺序问题
- LightOJ 1137 & Poj 1905 Expanding Rods
- Nearest Neighbors matching
- Qt 安装
- java.lang.IllegalArgumentException: Can't convert argument: null错误原因及解决办法
- 获取网页源码,自动判断网页字符集编码
- String.IsNullOrEmpty方法
- 把Listview 放在scrollview里面,怎样自动调整Listview 的高度。
- java 类与对象 3---super关键字
- V4L2驱动程序架构