time limit: 10 secs, memory limit: 32 mb
探險隊長凱因意外的弄到了乙份黑暗森林的藏寶圖,於是,探險隊一行人便踏上了尋寶之旅,去尋找傳說中的寶藏。
藏寶點分布在黑暗森林的各處,每個點有乙個值,表示藏寶的價值。它們之間由一些小路相連,小路不會形成環,即兩個藏寶點之間有且僅有一條通路。探險隊從其中的一點出發,每次他們可以留乙個人在此點開採寶藏,也可以不留,然後其餘的人可以分成若干隊向這一點相鄰的點走去。需要注意的是,如果他們把隊伍分成兩隊或者兩隊以上,就必須留乙個人在當前點,提供聯絡和通訊,當然這個人也可以一邊開採此地的寶藏。並且,為了節約時間,隊伍在前往開採寶藏的過程中是不會走回頭路的。現在你作為隊長的助理,已經提供了這幅藏寶圖,請你算出探險隊所能開採的最大寶藏價值。
第一行有兩個正整數n(1≤n≤100)表示藏寶點的個數,m(1≤m≤100)表示探險隊的人數。
第二行是n個不超過100的正整數,分別表示1到n每個點的寶藏價值。
接下來的n-1行,每行兩個數,x和y(1≤x,y≤n,x≠y),表示藏寶點x,y之間有一條路,資料保證不會有重複的路出現。
假設一開始探險隊在點1處。
乙個整數,表示探險隊所能獲得最大的寶藏價值。
5 31 3 7 2 81 22 31 44 5
16zsuacm team member
// problem#: 1138
// submission#: 3586746
// the source code is licensed under creative commons attribution-noncommercial-sharealike 3.0 unported license
// uri:
#include #include int map[110][110], fa[110], degree[110], max[110][2][110], num[110];
int n, m;
void init()
}void creat_tree()
i++;
}}void work()
while (1)
degree[fa[i]]--;
degree[i] = -1;
}if (max[1][0][m] > max[1][1][m]) printf("%d\n", max[1][0][m]);
else printf("%d\n", max[1][1][m]);
}int main()
建國的尋寶之旅
題目描述 建國在元旦假期出去進行尋寶活動,在路上偶遇了也在尋寶的印第安納 瓊斯,於是他們組隊去尋寶。到達藏寶圖上的目標地點之後,他們發現洞穴的入口處有個機關,聰明的建國很快就發現了破解這個機關的方法。機關是這樣的 機關的旁邊有一張正方形石板,上面有著n x n的格仔,每個格仔裡都有乙個鏤空的符號。這...
JZOJ B組 GDOI2005 尋寶之旅
探險隊長凱因意外的弄到了乙份黑暗森林的藏寶圖,於是,探險隊一行人便踏上了尋寶之旅,去尋找傳說中的寶藏。藏寶點分布在黑暗森林的各處,每個點有乙個值,表示藏寶的價值。它們之間由一些小路相連,小路不會形成環,即兩個寶藏點之間有且只有一條通路。探險隊從其中的一點出發,每次他們可以留乙個人在此點開採寶藏,也可...
問題 S 字串 尋寶之旅
題目描述 輸入輸入共有n 2行 第1行為要尋找的寶物的特徵字串,第2行為島上的寶物數,第3行至第n 2行為每件寶物的位置資料和寶物名稱 0輸出 按距離由近到遠輸出所找到的寶物的位置,每件寶物的位置資料佔一行。若找不到寶物,則輸出 1 1 複製樣例資料 er 35 2.4 liner 2.5 8.3 ...