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