#include<iostream>
#include<cmath>
using namespace std;

struct Point
{
double x,y;
};

double dis_sq(const Point& a,const Point& b) //距离平方
{
return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
}

Point lock_center(const Point& a,const Point& b)
{
Point s,e,m;
double d,c,ang;

s.x=b.x-a.x; //用于计算角度
s.y=b.y-a.y;
m.x=(a.x+b.x)/2.0; //中点
m.y=(a.y+b.y)/2.0;
d=dis_sq(a,m);
c=sqrt(1.0-d);
if(fabs(s.y)<1e-8) //ab是直径
{
e.x=m.x;
e.y=m.y+c;
}
else
{
ang=atan(-s.x/s.y); //求弦ab的垂直平分线与x轴所成的夹角
e.x=m.x+c*cos(ang);
e.y=m.y+c*sin(ang);
}
return e;
}

int main()
{
int T,n,i,j,k,ans,tmp;
Point p[310],c;

scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lf%lf",&p[i].x,&p[i].y);
ans=1; //一个点时为1种
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(dis_sq(p[i],p[j])<=4.0) //平方
{
c=lock_center(p[i],p[j]);
tmp=0;
for(k=0;k<n;k++)
if(sqrt(dis_sq(c,p[k]))<=1.0001)
tmp++;
if(ans<tmp)
ans=tmp;
}
cout<<ans<<endl;
}
return 0;
}

hdu1077的更多相关文章

  1. Catching Fish[HDU1077]

    Catching Fish Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  2. OJ题目分类

    POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...

随机推荐

  1. 剪辑的楼天城的ACM之路

    楼天城楼教主的acm心路历程(剪辑) 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还清晰记得3 年 ...

  2. Nginx/Apache下如何禁止指定目录运行PHP脚本

    下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. Apache下禁止指定目录运行PHP脚本 在虚拟主机配置文件中增加php_flag engine off指令即可,配 ...

  3. Codeforces Round #335 (Div. 2) C. Sorting Railway Cars

    C. Sorting Railway Cars time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  4. cocos2dx 中 string 转json

    string jsonData = warriors.toStyledString().c_str(); Json::Value parseData; Json::Reader reader; rea ...

  5. GW知识点

    1.取值: protected void Button1_Click(object sender, EventArgs e) { string str = ""; foreach ...

  6. Java_基础_01_static和final

    二.参考资料 1.java入门之关键字static和final 2.static和final的区别

  7. Java企业微信开发_Exception_01_"errcode":60011,"errmsg":"no privilege to access/modify contact/party/agent "

    微信企业号增加成员时,返回错误信息: jsonObject:{"errcode":60011,"errmsg":"no privilege to ac ...

  8. 通知消息与ON_NOTIFY

    1.通知消息一般是由子控件发出,由父窗口响应,因此响应函数的位置在父窗口内. 2.通知消息发送给父窗口的是通知码,即WM_NOTIFY消息(但为了区分方便不同的消息有不同的名称,但都是以WM_NOTI ...

  9. 【leetcode刷题笔记】Recover Binary Search Tree

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...

  10. 2017-2018-1 20179215《Linux内核原理与分析》第四周作业

    本次的实验是使用gdb跟踪调试内核从start_kernel到init进程启动,并分析启动的过程. 1.首先是在实验楼虚拟机上进行调试跟踪的过程. cd LinuxKernel qemu -kerne ...