P2038 無線網路發射器選址

2022-05-09 17:47:57 字數 1781 閱讀 2296

隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。

假設該城市的布局為由嚴格平行的129 條東西向街道和129 條南北向街道所形成的網格狀,並且相鄰的平行街道之間的距離都是恆定值 1 。東西向街道從北到南依次編號為0,1,2…128 , 南北向街道從西到東依次編號為0,1,2…128 。

東西向街道和南北向街道相交形成路口,規定編號為x 的南北向街道和編號為y 的東西向街道形成的路口的座標是(x , y )。 在 某 些 路口存在一定數量的公共場所 。

由於**財政問題,只能安裝乙個大型無線網路發射器。該無線網路發射器的傳播範圍

乙個以該點為中心,邊長為2*d 的正方形。傳播範圍包括正方形邊界。

例如下圖是乙個d = 1 的無線網路發射器的覆蓋範圍示意圖。

現在**有關部門準備安裝乙個傳播引數為d 的無線網路發射器,希望你幫助他們在城市內找出合適的安裝地點,使得覆蓋的公共場所最多。

輸入格式:

輸入檔名為wireless.in。

第一行包含乙個整數d ,表示無線網路發射器的傳播距離。

第二行包含乙個整數n ,表示有公共場所的路口數目。

接下來n 行,每行給出三個整數x , y , k , 中間用乙個空格隔開,分別代表路口的座標( x , y )

以及該路口公共場所的數量。同一座標只會給出一次。

輸出格式:

輸出檔名為wireless.out 。

輸出一行,包含兩個整數,用乙個空格隔開,分別表示能覆蓋最多公共場所的安裝地點 方案數,以及能覆蓋的最多公共場所的數量。

輸入樣例#1:

1  

2 4 4 10

6 6 20

輸出樣例#1:

1 30
對於100%的資料,1≤d≤20,1≤n≤20, 0≤x≤128,0≤y≤128,0大水題(然而我第一次交70)

暴力列舉放置的每乙個點。

注意列舉的開始節點是0不是1

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

int maxn=1001

;7 inline void read(int &n)813

intd,n;

14int

a[maxn][maxn];

15long

long

int pd(int x,int

y)16

24int

main()

2532

long

long ans=0;33

for(int i=0;i<=128;i++)

34for(int j=0;j<=128;j++)

35 ans=max(ans,pd(i,j) );

36long

long tot=0;37

for(int i=0;i<=128;i++)

38for(int j=0;j<=128;j++)

39if( pd(i,j) ==ans)

40 tot++;

41 printf("

%lld %lld

",tot,ans);

42return0;

43 }

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

隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。假設該城市的布局為由嚴格平行的 129 條東西向街道和 129 條南北向街道所形成的網格狀,並且相鄰的平行街道之間的距離都是恆定值 1 東西向街道從北到南依次編號為 0,1,2.128 和 0,1,2 12...

NOIP 2014 無線網路發射器選址

洛谷傳送門 jdoj傳送門 隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。假設該城市的布局為由嚴格平行的 129條東西向街道和 129條南北向街道所形成的網格狀,並且相鄰的平行街道之間的距離都是恆定值 1。東西向街道從北到南依次編號為 0,1,2 12...

NOIP2014 無線網路發射器選址

隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。假設該城市的布局為由嚴格平行的129 條東西向街道和129 條南北向街道所形成的網格狀,並且相鄰的平行街道之間的距離都是恆定值 1 東西向街道從北到南依次編號為0,1,2 128 南北向街道從西到東依次編號...