hrbust oj 1025 (计算几何+近似计算)
Posted icode-xiaohu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hrbust oj 1025 (计算几何+近似计算)相关的知识,希望对你有一定的参考价值。
这是我第一次只要可以这么做,题目中给的精度范围较大,所以可以把圆形的区域直接用小方块拼接近似来表示,maps地图开的越大,精度越高,但同时耗时也更多。
代码如下:
#include<cstdio> #include<iostream> #include<cstring> using namespace std; int main() { double x,y,r; int maps[101][101],num,i,j,n; while(~scanf("%d",&n)) { num = 10201; memset(maps,0,sizeof(maps)); for(int k = 0;k < n;k++) { scanf("%lf%lf%lf",&x,&y,&r); x=x*100+50; y=y*100+50; r=r*100; for(i=0; i<=100; i++) for(j=0; j<=100; j++) if(maps[i][j]==0 && (i-x)*(i-x)+(j-y)*(j-y) <= r*r) { maps[i][j]=1; num--; } } printf("%.3f\n",1.0*num/10201.0); } return 0; }
以上是关于hrbust oj 1025 (计算几何+近似计算)的主要内容,如果未能解决你的问题,请参考以下文章