记录编号 |
34459 |
评测结果 |
AAWWAWWWWW |
题目名称 |
打蚊子 |
最终得分 |
30 |
用户昵称 |
Truth.Cirno |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.386 s |
提交时间 |
2011-12-14 21:32:44 |
内存使用 |
0.26 MiB |
显示代码纯文本
#include <cstdio>
#include <vector>
using namespace std;
int main(void)
{
freopen("fight.in","r",stdin);
freopen("fight.out","w",stdout);
int i,j,n,r,sx=0,sy=0,temp,maxpos,maxnum=0;
double mx,my,tx,ty,maxtx;
scanf("%d%d",&n,&r);
// vector<int> x(n),y(n);
// vector<bool> used(n,0);
int x[2000],y[2000];
bool used[2000]={0};
for (i=0;i<n;i++)
{
scanf("%d%d",&x[i],&y[i]);
sx+=x[i];
sy+=y[i];
}
r*=r;
for (i=n;i>=1;i--)
{
mx=sx/double(i);
my=sy/double(i);
temp=0;
maxtx=0;
for (j=0;j<n;j++)
{
tx=mx-x[j];
ty=my-y[j];
tx=tx*tx+ty*ty;
if (tx<=r)
temp++;
if (tx>maxtx&&!used[j])
{
maxtx=tx;
maxpos=j;
}
}
if (temp>maxnum)
maxnum=temp;
sx-=x[maxpos];
sy-=y[maxpos];
used[maxpos]=true;
}
printf("%d\n",maxnum);
return(0);
}