藍橋學習 PREV 24

2021-10-08 17:13:31 字數 1256 閱讀 8915

試題 歷屆試題

prev-24 郵局

問題描述

c村住著n戶村民,由於交通閉塞,c村的村民只能通過信件與外界交流。為了方便村民們發信,c村打算在c村建設k個郵局,這樣每戶村民可以去離自己家最近的郵局發信。現在給出了m個備選的郵局,請從中選出k個來,使得村民到自己家最近的郵局的距離和最小。其中兩點之間的距離定義為兩點之間的直線距離。

輸入格式

輸入的第一行包含三個整數n, m, k,分別表示村民的戶數、備選的郵局數和要建的郵局數。

接下來n行,每行兩個整數x, y,依次表示每戶村民家的座標。

接下來m行,每行包含兩個整數x, y,依次表示每個備選郵局的座標。

在輸入中,村民和村民、村民和郵局、郵局和郵局的座標可能相同,但你應把它們看成不同的村民或郵局。

輸出格式

輸出一行,包含k個整數,從小到大依次表示你選擇的備選郵局編號。(備選郵局按輸入順序由1到m編號)

樣例輸入

5 4 2

0 02 0

3 13 3

1 10 1

1 02 1

3 2

樣例輸出

2 4

想法:

痛苦深搜,這就是新時代的體罰,超出我的想象範圍,雖然有可能是我過於弱智所導致的,但是確實是我的問題,我真的已經盡力了,為什麼,最後乙個點就是搞不定,世界已經崩塌了。(scanf還是頂啊)

**:

#include#include#includeusing namespace std;

struct manma[60];

int n,m,d,dd[60],book[60],max1=999999999,qq[60];

double dp[30][60];

void dfs(int node,int k)

} for(int j=0;jif(num} return;

} for(int i=k;i<=m;i++) }}

int main()

for(int i=1;i<=m;i++)

} dfs(0,1);

for(int i=0;iprintf("\n");

return 0;

}

藍橋學習 PREV 25

試題 歷屆試題 prev 25 城市建設 問題描述 棟棟居住在乙個繁華的c市中,然而,這個城市的道路大都年久失修。市長準備重新修一些路以方便市民,於是找到了棟棟,希望棟棟能幫助他。c市中有n個比較重要的地點,市長希望這些地點重點被考慮。現在可以修一些道路來連線其中的一些地點,每條道路可以連線其中的兩...

藍橋學習 PREV 27

試題 歷屆試題 prev 27 螞蟻感冒 問題描述 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。...

藍橋 PREV 6 翻硬幣

歷屆試題 翻硬幣 問題描述 小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同...