藍橋杯試題 歷屆試題 郵局

2021-10-10 08:17:42 字數 1326 閱讀 1683

題中的資料量很小,但單純的回溯會超時,所以需要剪枝,這裡減了三個枝。

1.當即使所有剩餘點都算上都不能取k個點時。

2.當當前點大於k個時。

3.當發現加入乙個點後距離陣列沒有變化時,說明這個點可有可無以後不再計算。

#include

#include

#include

#include

using

namespace std;

const

int maxn =

100, inf =

0x3f3f3f3f

;int n, m, k;

struct node house[maxn]

, post[maxn]

;double c[maxn]

[maxn]

;bool vis[maxn]

;vector<

int>vet;

double ans =

0x3f3f3f3f

;double dist[maxn]

;void

dfs(

int pos,

double sum,

int num, vector<

int>v)

return;}

dfs(pos +

1, sum, num, v);if

(vis[pos]

)return

;double temp[maxn]

;memcpy

(temp, dist,

sizeof

(temp));

int flag =0;

for(

int i =

1; i <= n; i++)if

(dist[i]

> c[pos]

[i])

sum =0;

for(

int i =

1; i <= n; i++)if

(flag)

else vis[pos]=1

;}intmain()

dfs(1,

0,0, v)

;sort

(vet.

begin()

, vet.

end())

;for

(int i=

0; i < vet.

size()

;i++

) cout << endl;

system

("pause");

return0;

}```

藍橋杯練習系統 歷屆試題 郵局 (詳細解釋)

時間限制 1.0s 記憶體限制 256.0mb 問題描述 c村住著n戶村民,由於交通閉塞,c村的村民只能通過信件與外界交流。為了方便村民們發信,c村打算在c村建設k個郵局,這樣每戶村民可以去離自己家最近的郵局發信。現在給出了m個備選的郵局,請從中選出k個來,使得村民到自己家最近的郵局的距離和最小。其...

藍橋杯 試題 歷屆試題 幸運數

題目鏈結 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 幸運數是波蘭數學家烏拉姆命名的。它採用與生成素數類似的 篩法 生成 首先從1開始寫出自然數1,2,3,4,5,6,1 就是第乙個幸運數。我們從2這個數開始。把所有序號能被2整除的項刪除,變為 1 3 5 7 9 把它們縮緊...

藍橋杯試題 歷屆試題 分糖果

問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形下,老師一共需要補...