隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。
假設該城市的布局為由嚴格平行的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輸出樣例#1:2 4 4 10
6 6 20
1 30對於100%的資料,1≤d≤20,1≤n≤20, 0≤x≤128,0≤y≤128,0用二維陣列暴力列舉尋找最大值(水題)
#includeint a[135][135];int
main()
for(i=0;i<=128;i++)
for(j=0;j<=128;j++)
}if(ans==max)p++;
if(ans>max)
}printf(
"%d %d
",p,max);
fclose(stdin);
fclose(stdout);
return0;
}
NOIP 2014 無線網路發射器選址
洛谷傳送門 jdoj傳送門 隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。假設該城市的布局為由嚴格平行的 129條東西向街道和 129條南北向街道所形成的網格狀,並且相鄰的平行街道之間的距離都是恆定值 1。東西向街道從北到南依次編號為 0,1,2 12...
NOIp2014 無線網路發射器選址 題解
這是一道很簡單的二維字首和的大水題,由於範圍比較小,完全可以直接三重迴圈搞定它。不過鑑於本人認為洛谷被推到首頁的 有些難看,所以特意加了乙個bool函式進行判斷,算是乙個小小的優化吧 bool in edge int i,int j,int t return 0 其實也可以只用乙個if進行判斷,但是...
NOIP2014無線網路發射器選址改編1
問題描述 隨著智慧型手機的日益普及,人們對無線網的需求日益增大。某城市決定對城市內的公共場所覆蓋無線網。假設該城市的布局為由嚴格平行的129條東西向街道和129條南北向街道所形成的網格狀,並且相鄰的平行街道之間的距離都是恆定值1。東西向街道從北到南依次編號為0,1,2 128,南北向街道從西到東依次...