1. 程式人生 > >洛谷 P2038 無線網絡發射器選址

洛谷 P2038 無線網絡發射器選址

n) 註意 namespace amp pla 無線網絡 c++ sizeof name

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 無線網絡發射器選址