NOIP 2014 無線網路發射器選址

2022-03-20 06:31:28 字數 1299 閱讀 4061

洛谷傳送門

jdoj傳送門

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

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

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

由於**財政問題,只能安裝乙個大型無線網路發射器。該無線網路發射器的傳播範圍是乙個以該點為中心,邊長為 2*d的正方形。傳播範圍包括正方形邊界。

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

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

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

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

接下來 n行,每行給出三個整數 x, y, k, 中間用乙個空格隔開,分別代表路口的座標(x, y)以及該路口公共場所的數量。同一座標只會給出一次。

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

1 2 4 4 10 6 6 20

1 30

【資料說明】

對於 100%的資料,1 ≤ d ≤ 20,1 ≤ n ≤ 20, 0 ≤ x ≤ 128, 0 ≤ y ≤ 128, 0 < k ≤ 1,000,000。

noip2014提高組

模擬題。

這裡介紹乙個小技巧,防陣列越界就多開。

多開多少?多開2個d不就完了。

為啥要開倆d?自己想。

然後就是暴力搜尋。;

#include#includeusing namespace std;

int d,n;

int ans=1,tot;

int map[170][170];

int main()

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

for(int j=20;j<=128+20;j++)

printf("%d %d",ans,tot);

return 0;

}

NOIP2014 無線網路發射器選址

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

NOIp2014 無線網路發射器選址 題解

這是一道很簡單的二維字首和的大水題,由於範圍比較小,完全可以直接三重迴圈搞定它。不過鑑於本人認為洛谷被推到首頁的 有些難看,所以特意加了乙個bool函式進行判斷,算是乙個小小的優化吧 bool in edge int i,int j,int t return 0 其實也可以只用乙個if進行判斷,但是...

NOIP2014無線網路發射器選址改編1

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