洛谷 P2038 无线网络发射器选址

Posted Alex丶Baker

tags:

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

P2038 无线网络发射器选址

注意边界是否小于0

技术分享
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int d,n,num[1000][1000],ans[1000][1000],tot,cnt,maxx;
 4 int main()
 5 {
 6     scanf("%d",&d);
 7     scanf("%d",&n);
 8     memset(num,0,sizeof(num));
 9     memset(ans,0,sizeof(ans));
10     for(int i=1;i<=n;i++)
11     {
12         int x,y,z;
13         scanf("%d%d%d",&x,&y,&z);
14         num[x][y]=z;
15     }
16     for(int i=0;i<=128;i++)
17         for(int j=0;j<=128;j++)
18         {            
19             if(i-d>=0&&j-d>=0)
20             for(int k=i-d;k<=i+d;k++)
21                 for(int l=j-d;l<=j+d;l++)    
22                     ans[i][j]+=num[k][l];
23             else{
24                 if(i-d<0&&j-d>=0)
25                     for(int k=0;k<=i+d;k++)
26                         for(int l=j-d;l<=j+d;l++)
27                             ans[i][j]+=num[k][l];
28                 if(i-d>=0&&j-d<0)
29                     for(int k=i-d;k<=i+d;k++)
30                         for(int l=0;l<=j+d;l++)
31                             ans[i][j]+=num[k][l];
32                 if(i-d<0&&j-d<0)
33                     for(int k=0;k<=i+d;k++)
34                         for(int l=0;l<=j+d;l++)
35                             ans[i][j]+=num[k][l];
36                 
37             }    
38             maxx=max(ans[i][j],maxx);
39         }
40     for(int i=0;i<=128;i++)
41         for(int j=0;j<=128;j++)
42             if(ans[i][j]==maxx) tot++;
43     printf("%d %d",tot,maxx);
44     
45 }
View Code

 

以上是关于洛谷 P2038 无线网络发射器选址的主要内容,如果未能解决你的问题,请参考以下文章

洛谷 P2038 无线网络发射器选址

洛谷 P2038 无线网络发射器选址 题解

AC日记——无线网络发射器选址 洛谷 P2038

[NOIP2014] 提高组 洛谷P2038 无线网络发射器选址

洛谷 P2038 无线网络发射器选址(NOIp2014D2T1)

P2038 无线网络发射器选址