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

来源:互联网 发布:西安科技大学考研 知乎 编辑:程序博客网 时间:2024/05/20 12:46
#include<iostream>#include<cstdio>#include<cmath>#include<queue>#include<stack>#include<vector>#include<algorithm>#include<string>#include<cstring>#include<iomanip>#include<bitset>#include<cstdlib>using namespace std;int d,n,x,y,k,maxn,p;int t[250][250];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,&k);        t[x][y]=k;    }    for (int i=0;i<=222//here;i++)        for (int j=0;j<=222;j++)        {            if (i>0&&j>0)  t[i][j]+=t[i-1][j]+t[i][j-1]-t[i-1][j-1];            if (i>0&&j==0)  t[i][j]+=t[i-1][j];            if (i==0&&j>0)  t[i][j]+=t[i][j-1];        }    for (int i=0;i<=128;i++)        for (int j=0;j<=128;j++)            if (i+d<=222&&j+d<=222//and here)            {                int a=t[i+d][j+d];                if (i-d-1>=0)  a-=t[i-d-1][j+d];                if (j-d-1>=0)  a-=t[i+d][j-d-1];                if (i-d-1>=0&&j-d-1>=0)  a+=t[i-d-1][j-d-1];                if (a>maxn)  {maxn=a;p=1;}                else if (a==maxn)  p++;            }    printf ("%d %d",p,maxn);    return 0;}

0 0
原创粉丝点击