UVa 356 - Square Pegs And Round Holes
来源:互联网 发布:酷炫的js特效 编辑:程序博客网 时间:2024/05/30 23:48
题目:在一个2n*2n的网格中间画一个直径为2n-1的圆,问圆内部的格子以及和圆相交的格子个数。
分析:计算几何。分别计算出圆和每个整数横坐标的交点(xi,yi)。
ceil(yi)- ceil(yi-1)即为每列的相交格子个数,floor(yi)即为每列圆内格子个数。
说明:注意精度(⊙_⊙)。
#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>using namespace std;int main(){int n,in,on,count = 0;while (cin >> n) {in = 0,on = 0;double r,l = n-0.5;for (int i = 1 ; i < n ; ++ i) {r = sqrt((n-0.5)*(n-0.5)-i*i);on += ((int)(l+1-1e-12) - (int)(r+1-1e-12)+1)<<2;in += ((int)(r+1e-12))<<2;l = r;}on += ((int)(l+1-1e-10))<<2;if (count ++) printf("\n");printf("In the case n = %d, %d cells contain segments of the circle.\n",n,on);printf("There are %d cells completely contained in the circle.\n",in);} return 0;}
0 0
- UVA 356 Square Pegs And Round Holes
- UVa 356 - Square Pegs And Round Holes
- UVA, 356 Square Pegs And Round Holes
- UVA 356 || Square Pegs And Round Holes (圆能覆盖的格子数和边界穿过的格子数
- UVA 356 SquarePegs And Round Holes(点到圆心的距离)
- UVA - 1533 Moving Pegs
- UVA - 1533 (Moving Pegs)
- UVA 12569 Moving Pegs
- Moving Pegs UVA
- Codeforces Round #356 (Div. 2) Bear and Square Grid
- Codeforces Round #356 (Div. 2)E. Bear and Square Grid
- 【Codeforces797F】Mice and Holes
- uva 1533 - Moving Pegs(BFS)
- Codeforces Round #356 (Div. 2) Bear and Square Grid ★ ★ ★
- Codeforces Round #356 (Div. 2) E. Bear and Square Grid 滑块
- UVa #1533 Moving Pegs (习题7-12)
- UVA 1533 - Moving Pegs 状态压缩 + bfs
- Codeforces Round #369 (Div. 2) B. Chris and Magic Square
- 关于OC多态与C++的不同点
- Junit+Selenium+Maven+SVN+Eclipse+AutoFrame全自动化测试实践实例(二)
- nyoj 组合数
- Junit+Selenium+Maven+SVN+Eclipse+AutoFrame全自动化测试实践实例(三)
- PHP学习笔记之:trait
- UVa 356 - Square Pegs And Round Holes
- Ubuntu安装Sun JDK及如何设置默认java JDK
- 理清Linux中的各种用户ID关系
- 杂谈:windows10 支持安卓
- Hadoop学习笔记2-HDFS的安装与部署以及HDFS Shell命令
- 流表
- 多元线性回归方程建模:使用岭回归与lasso算法选择变量
- Java和.Net版通用工具类实现--生成自定义Web Html/Excel测试用例和测试报告
- skb_share_check简单解释