题目连接:
URAL 1333
题目大意:给很多个圆,最后问你在单位正方形中被圆覆盖的 比例是多少
题目大意:给很多个圆,最后问你在单位正方形中被圆覆盖的 比例是多少
// URAL 1333. Genie Bomber 2 --类似于算概率的问题
// 取很多个点,依次判断点是不是在这些圆中 即可。这道题进度放的很宽,因此点不必分的很细,100都能过
// 伪代码如下
// count = 0;
// for X from 0.000 to 1.000
// for Y from 0.000 to 1.000
// if Point(X,Y) within some cirle then
// count := count+1
//
// write(count/1000000*100);
//
/*test data
1
0.5 0.5 0.5
2
0.2 0.2 0.5
0.8 0.8 0.5
精确到 %1
78.539816
80.74292
*/
#include <stdio.h>
#include <math.h>
const int MAXN = 10;
double Distance(double x1,double y1,double x2,double y2){
return sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );
}
int main(){
// freopen("in.txt","r",stdin);
int n;
double x[MAXN],y[MAXN],r[MAXN];
while(scanf("%d",&n)!=EOF){
for(int i =0 ;i < n; i++){
scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);
}
int count = 0;
for (double i = 0.000; i <= 1.000; i += 0.001)
for (double j = 0.000; j <= 1.000; j += 0.001)
for (int k = 0; k < n; k++){
if (r[k] >= Distance(i,j,x[k],y[k])){
count++;break;
}
}
printf("%lf\n",count/10000.0);
}
return 0;
}