整点和圆 统计半径为r的圆所能包含的最大整点数

【问题描述】

在一个平面直角坐标系中给定n个整点,分别以每个整点为圆心,画一个半径为r的圆,请你求出以哪个整点为圆心画的圆包含的整点最多,输出这个值。
【输入形式】

第一行输入两个整数n和r,分别表示整点的数量和半径的值

接下来n行每行输入两个整数x,y,分别表示整点的横坐标和纵坐标
【输出形式】

输出以给定的n个整点中的某个点为圆心画一个半径为r的圆所能包含的最大整点数
【样例输入】

3 2

0 0

0 2

2 0
【样例输出】

3
【样例说明】

以(0,0)这个点为圆心画一个半径为2的圆,可以包含3个点

而以(0,2)或(2,0)为圆心画一个半径为2的圆,只能包含2个点

因此最多能包含3个整点
【评分标准】

对于100%的数据,保证-1e9<=x,y<=1e9,1<=r<=2e9

对于40%的数据,保证1<=n<=100

对于100%的数据,保证1<=n<=5000

初次写的代码

#include
#include
using namespace std;
#define eps 1e-8typedef struct Point
{double x,y;}point;int main()
{int n,r;cin>>n>>r;point p[n];int ans=0;for(int i=0;i>p[i].x>>p[i].y;}for(int i=0;i


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部