记录编号 174509 评测结果 AAAAAAAAAA
题目名称 [NOIP 2014]无线网路发射器选址 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2015-08-01 18:09:07 内存使用 0.44 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int d,n,a[129][129],x,y,z;
int num,maxn,b[129][129];
int dfs(int x,int y)
{
	int x1=x+d,x2=x-d,y1=y+d,y2=y-d;
	x1=min(x1,128);
	x2=max(x2,0);
	y1=min(y1,128);
	y2=max(y2,0);
	for(int i=x2;i<=x1;++i)
	 for(int j=y2;j<=y1;++j)
	   {
	   	 b[i][j]+=a[x][y];
	   	 if(b[i][j]>maxn)
	   	  maxn=b[i][j];
	   }
}
int main()
{   freopen("wireless.in","r",stdin);
	freopen("wireless.out","w",stdout);
	scanf("%d%d",&d,&n);
	for(int i=1;i<=n;++i)
	{
		scanf("%d%d%d",&x,&y,&z);
		a[x][y]=z;
	}
	for(int i=0;i<=128;++i)
	  for(int j=0;j<=128;++j)
	  { if(a[i][j])
	  	   dfs(i,j);
	  }
	for(int i=0;i<=128;++i)
	 for(int j=0;j<=128;++j)
	  if(b[i][j]==maxn)
	   num++;
	printf("%d %d",num,maxn);
}