1806. [NOIP2014]无线网路发射器选址

Posted ioioioioioio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1806. [NOIP2014]无线网路发射器选址相关的知识,希望对你有一定的参考价值。

 

☆   输入文件:wireless.in   输出文件:wireless.out   简单对比
时间限制:1 s   内存限制:128 MB

【题目描述】

技术分享

技术分享

技术分享

//读入每一个点时,将其所在矩形的每一个点+k,最后取最大的点 
#include<cstdio>
#include<iostream>

using namespace std;

int d,n,i,j,k,s=0,sum=0,mx1=128,mx2=0,my1=128,my2=0;
int map[129][129]={0},x,y,x1,x2,y1,y2,u,v;

inline int read()
{
    int x=0;char c=getchar();
    while(c<0||c>9)c=getchar();
    while(c>=0&&c<=9)x=x*10+c-0,c=getchar();
    return x;
}

main()
{
    freopen("wireless.in","r",stdin);
    freopen("wireless.out","w",stdout);
    d=read(),n=read();
    for(i=1;i<=n;i++)
    {
        x=read(),y=read(),k=read();
        x1=max(0,x-d);
        x2=min(128,x+d);
        y1=max(0,y-d);
        y2=min(128,y+d);
        mx1=min(mx1,x1);
        mx2=max(mx2,x2);
        my1=min(my1,y1);
        my2=max(my2,y2);
for(u=x1;u<=x2;u++) for(v=y1;v<=y2;v++) map[u][v]+=k; } for(i=mx1;i<=mx2;i++) for(j=my1;j<=my2;j++) if(s<map[i][j]) s=map[i][j], sum=1; else if(s==map[i][j]) sum++; printf("%d %d",sum,s); return 0; }

 



以上是关于1806. [NOIP2014]无线网路发射器选址的主要内容,如果未能解决你的问题,请参考以下文章

NOIP2014_day2:无线网络发射器选址

noip2014无线网络发射器选址

[NOIP2014]无线网络发射器选址

luogu2038noip2014无线网络发射器选址 [模拟][二维前缀和]

Codevs 3578 无线网络发射器选址== NOIP 2014 Day2 T1

NOIP2014无线网络发射器选址改编1