Codeforces--140A--New Year Table(思维)
2016-05-12 22:20
309 查看
New Year Table
Submit Status
Description
Gerald is setting the New Year table. The table has the form of a circle; its radius equals R. Gerald invited many guests and is concerned whether the table has enough space for
plates for all those guests. Consider all plates to be round and have the same radii that equal r. Each plate must be completely inside the table and must touch the edge of the table.
Of course, the plates must not intersect, but they can touch each other. Help Gerald determine whether the table is large enough for n plates.
Input
The first line contains three integers n, R and r (1 ≤ n ≤ 100, 1 ≤ r, R ≤ 1000)
— the number of plates, the radius of the table and the plates' radius.
Output
Print "YES" (without the quotes) if it is possible to place n plates on the table by the rules given above. If it is impossible,
print "NO".
Remember, that each plate must touch the edge of the table.
Sample Input
Input
Output
Input
Output
Input
Output
Hint
The possible arrangement of the plates for the first sample is:
Source
Codeforces Round #100
将n个半径为r盘子放在半径为R的桌子上,盘子要紧挨着桌沿问是否可以实现
New Year Table
Time Limit: 2000MS | Memory Limit: 262144KB | 64bit IO Format: %I64d & %I64u |
Description
Gerald is setting the New Year table. The table has the form of a circle; its radius equals R. Gerald invited many guests and is concerned whether the table has enough space for
plates for all those guests. Consider all plates to be round and have the same radii that equal r. Each plate must be completely inside the table and must touch the edge of the table.
Of course, the plates must not intersect, but they can touch each other. Help Gerald determine whether the table is large enough for n plates.
Input
The first line contains three integers n, R and r (1 ≤ n ≤ 100, 1 ≤ r, R ≤ 1000)
— the number of plates, the radius of the table and the plates' radius.
Output
Print "YES" (without the quotes) if it is possible to place n plates on the table by the rules given above. If it is impossible,
print "NO".
Remember, that each plate must touch the edge of the table.
Sample Input
Input
4 10 4
Output
YES
Input
5 10 4
Output
NO
Input
1 10 10
Output
YES
Hint
The possible arrangement of the plates for the first sample is:
Source
Codeforces Round #100
将n个半径为r盘子放在半径为R的桌子上,盘子要紧挨着桌沿问是否可以实现
#include <cstdio> #include <cstring> #include <cmath> #include <map> #include <iostream> using namespace std; #define PI acos(-1) int main() { int n; double R,r; while(scanf("%d%lf%lf",&n,&R,&r)!=EOF) { if(R<r) printf("NO\n"); else if(R<2*r) { if(n==1) printf("YES\n"); else printf("NO\n"); } else if(R==2*r) { if(n<=2) printf("YES\n"); else printf("NO\n"); } else if(R==3*r) { if(n<=6) printf("YES\n"); else printf("NO\n"); } else { double d=R-r; double s=sqrt(d*d-r*r); double co=(d*d+s*s-r*r)/(2*d*s); double q=acos(co); int k=PI/q; // printf("%d %d\n",k,n); if(k>=n) printf("YES\n"); else printf("NO\n"); } } }
相关文章推荐
- android开发环境的搭建
- R语言文本分析(4)
- 问卷调查
- sar
- 高级IO-fcntl记录锁
- 斗地主手牌最少手数的搜索
- 关于多线程、安装信号、长跳转、数据结构等的例子
- C# 模拟跑马灯效果(2种)
- 傅里叶变换
- 关于java I/O的杂谈
- 57-002-1 bootstrap中利用面板实现折叠功能collapse
- iOS学习- 01 程序模版
- APP开发实战12-业务逻辑的实现
- 查看Ubuntu的版本信息的方法
- C++:[STL]浅谈Allocator以及详解STL之sequence container的操作及使用(vector)
- 我的博客
- 【python】string to list效率对比
- 多线程断点下载文件
- poj 2348 Euclid's Game
- DoG (Difference of Gaussian)角点检测