hlg1175小陈老师、桌子、盘子【计算几何】
2015-04-25 18:11
225 查看
大意:一个R的桌子能否摆下n个半径为r的盘子 要求所有的盘子靠桌子的边缘放置
分析:
两种思路
一种是看这个桌子放这种盘子最多放多少个
一种是把这种盘子n个放在这个桌子上最少需要多大桌子半径
代码:
View Code
View Code
分析:
两种思路
一种是看这个桌子放这种盘子最多放多少个
一种是把这种盘子n个放在这个桌子上最少需要多大桌子半径
代码:
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 using namespace std; 6 7 const int maxn = 105; 8 const double PI = 3.14159265358979; 9 10 int eps(double x) { 11 if(fabs(x) < 1e-8) return 0; 12 if(x < 0) return -1; 13 return 1; 14 } 15 16 int main() { 17 int n; 18 double R, r; 19 while(EOF != scanf("%d %lf %lf",&n, &R, &r) ) { 20 if(n == 1) { 21 if(eps(R - r) >= 0) puts("YES"); 22 else puts("NO"); 23 } else if(n == 2) { 24 if(eps(R - 2 * r) >= 0) puts("YES"); 25 else puts("NO"); 26 } else { 27 double x = PI / n; 28 double y = r / sin(x) + r; 29 if(eps(R - y) >= 0) puts("YES"); 30 else puts("NO"); 31 } 32 } 33 return 0; 34 }
View Code
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 using namespace std; 6 7 const int maxn = 105; 8 const double PI = 3.14159265358979; 9 10 int eps(double x) { 11 if(fabs(x) < 1e-8) return 0; 12 if(x < 0) return -1; 13 return 1; 14 } 15 16 int main() { 17 int n; 18 double R, r; 19 while(EOF != scanf("%d %lf %lf",&n, &R, &r) ) { 20 if(eps(R - 2 * r) >= 0) { 21 double x = asin(r / ( R - r ) ); 22 int y = ( int )(( PI + 1e-8) / x); 23 if(y >= n) puts("YES"); 24 else puts("NO"); 25 } else if(eps(R - r) >= 0){ 26 if(n <= 1) puts("YES"); 27 else puts("NO"); 28 } else { 29 puts("NO"); 30 } 31 } 32 return 0; 33 }
View Code
相关文章推荐
- hlg1175小陈老师、桌子、盘子【计算几何】
- hlg1175小陈老师、桌子、盘子【计算几何】
- ACM学习历程—BestCoder 2015百度之星资格赛1004 放盘子(策略 && 计算几何)
- poj 1410 Intersection(计算几何)
- POJ 2826 An Easy Problem?!(计算几何)
- poj 2031 Building a Space Station(计算几何+最小生成树)
- ACM计算几何题目推荐 (第一期)
- JOJ1076 && POJ1039 Pipe 经典计算几何
- ZOJ 1608 Two Circles and a Rectangle(简单计算几何)
- sgu209:Areas(计算几何)
- 根据经纬度坐标计算两点间几何距离 - 椰子树下 - CSDN博客
- ACM-计算几何之改革春风吹满地——hdu2036
- ACM-计算几何之Toys——poj2318
- [BZOJ1007]HNOI2008水平可见直线|计算几何|栈
- uestc oj Justice is Given by Light(计算几何)
- 判断两条线段是否相交 计算几何
- POJ 1410 Intersection(计算几何---线段相交--跨立试验)
- HDU5476 Explore Track of Point【计算几何】
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem A. Alien Visit 计算几何
- UVa 10250 The Other Two Trees (计算几何)