ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

2021年中国大学生程序设计竞赛女生专场 G. 3G网络

2021-11-01 18:59:12  阅读:335  来源: 互联网

标签:专场 nn 比特 网络 2021 Copy 3G 基站


题目链接:Problem - G - Codeforces

比特镇建镇多年一直没有通网,工程师小C为了改善比特镇人民的生活,立下了宏伟的目标,致力于比特镇3G网络全域覆盖的实现。

比特镇可以被视为一个充分大的二维平面,工程师小C敲定了 nn 个建立3G网络基站的位置,每个基站能够实现以基站为圆心的半径为 rr 的圆内区域的3G网络覆盖。

现在工程师小C想知道,当 rr 足够大以至于比特镇的每一个角落都有3G网络覆盖时,比特镇3G网络覆盖范围的面积与这 nn 个基站的3G网络覆盖范围的面积之和的比值。

更形式化地描述这个问题,记 nn 个3G网络基站的位置分别为 (x1,y1),(x2,y2),…,(xn,yn)(x1,y1),(x2,y2),…,(xn,yn),定义 Ci,r={(x,y)∈R2∣(x−xi)2+(y−yi)2≤r2}Ci,r={(x,y)∈R2∣(x−xi)2+(y−yi)2≤r2} 为第 ii 个3G网络基站覆盖的范围,你需要计算

f(r)=S(C1,r∪C2,r∪…∪Cn,r)S(C1,r)+S(C2,r)+…+S(Cn,r)f(r)=S(C1,r∪C2,r∪…∪Cn,r)S(C1,r)+S(C2,r)+…+S(Cn,r)

当 r→+∞r→+∞ 时 f(r)f(r) 的极限 limr→+∞f(r)limr→+∞f(r),其中 S(X)S(X) 表示平面点集 XX 的面积。

Input

第一行包含一个正整数 nn (1≤n≤20001≤n≤2000),表示3G网络基站的个数。

接下来 nn 行,每行包含两个整数 x,yx,y (−10000≤x,y≤10000),表示3G网络基站建立的位置,保证任意两个3G网络基站都不建在同一处。

Output

输出一行,包含一个实数表示 limr→+∞f(r),要求绝对误差不超过 10−9。

也就是说,如果你给出的答案是 a,标程给出的答案是 b,你的答案被认为是正确的当且仅当 |a−b|≤10−9。

Examples

input

Copy

1
0 0

output

Copy

1.000000000000000

input

Copy

2
0 0
0 1

output

Copy

0.500000000000000

input

Copy

3
0 0
0 1
1 0

output

Copy

0.333333333333333

input

Copy

4
0 0
0 1
1 0
1 1

output

Copy

0.250000000000000

思路:当r趋向与无穷的时候,任意一个点都可以覆盖整个小镇,所以比例就是1/n

#include<bits/stdc++.h>
using namespace std;

int x[2005], y[2005];

int main(){
	int n;
	cin >> n;
	for(int i = 0; i < n; i++){
		cin >> x[i] >> y[i];
	}
	double a = 1.00000000000;
	a = 1 / (n * 1.00000000000);
	printf("%.15f\n", a);
	return 0;
}

标签:专场,nn,比特,网络,2021,Copy,3G,基站
来源: https://blog.csdn.net/m0_55682843/article/details/121086097

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有