记录编号 34459 评测结果 AAWWAWWWWW
题目名称 打蚊子 最终得分 30
用户昵称 GravatarTruth.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);
}