2882 圆形重叠

· · 个人记录


2882   圆形重叠
经验值:1200
题目描述 Description
在一个直角坐标系中,有N个半径为R的圆形。

现在给出每一个圆形的圆心,请判断所有的圆形是否有重叠。

输入数据保证每一个圆形的圆心不重合。

注:判断两个圆形是否重叠,即判断两个圆形的中心距离是否大于两倍的半径R。

注2:对于两个圆的圆心坐标(a,b)和(x,y),它们之间的距离是sqrt(pow(a-x, 2)+pow(b-y, 2))。

输入描述 Input Description
第一行,两个正整数, N , R 其中2 ≤ N ≤ 50,000 ,1 ≤ R ≤ 1,000,000

接下来N行,每行有两个整数xi,yi,描述了第i个圆形的圆心。其中xi,yi均在[-1,000,000,1,000,000]内

输出描述 Output Description
如果存在两个圆重叠,则输出1

否则输出0

样例输入 Sample Input
2 5
1 1
100 100
样例输出 Sample Output
0

1 分析样例

如果我们遇到难题,那么第一步就应该是分析样例

样例输入 Sample Input

2 5

1 1

100 100

样例输出 Sample Output

0

∵(因为符号)sqrt(pow(a-x, 2)+pow(b-y, 2))>2r

∴(所以符号)无重叠,输出0.

2 部分代码

1) 存r const int r=R(其实不存也阔以)

2) 判断 如果(sqrt(pow(a-x, 2)+pow(b-y, 2))>2*r){输出。。。}

   否则输出。。。
\color{gold}\text{望采纳,蟹蟹}