洛谷 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 }
以上是关于洛谷 P2038 无线网络发射器选址的主要内容,如果未能解决你的问题,请参考以下文章
[NOIP2014] 提高组 洛谷P2038 无线网络发射器选址