題目1172 哈夫曼樹

2021-06-28 00:24:12 字數 735 閱讀 6705

時間限制:1 秒

記憶體限制:32 兆

特殊判題:否

提交:4902

解決:2097

題目描述:哈夫曼樹,第一行輸入乙個數n,表示葉結點的個數。需要用這些葉結點生成哈夫曼樹,根據哈夫曼樹的概念,這些結點有權值,即weight,題目需要輸出所有結點的值與權值的乘積之和。

輸入:輸入有多組資料。

每組第一行輸入乙個數n,接著輸入n個葉節點(葉節點權值不超過100,2<=n<=1000)。

輸出:輸出權值。

樣例輸入:

5  

1 2 2 5 9

樣例輸出:

37

2023年北京郵電大學計算機研究生機試真題

思路:結果即為哈夫曼樹的所有非葉子結點值之和,所以本題可以不用建樹,直接累加每次從集合中取出的兩個較小結點值之和就ok

#include #include #include using namespace std;

int main()

int sum = 0;

int a, b;

while (qq.size() >= 2)

cout << sum << endl;

} return 0;

}

題目1172 哈夫曼樹

題目描述 哈夫曼樹,第一行輸入乙個數n,表示葉結點的個數。需要用這些葉結點生成哈夫曼樹,根據哈夫曼樹的概念,這些結點有權值,即weight,題目需要輸出所有結點的值與權值的乘積之和。輸入 輸入有多組資料。每組第一行輸入乙個數n,接著輸入n個葉節點 葉節點權值不超過100,2 n 1000 輸出 輸出...

題目1172 哈夫曼樹

時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 11443 解決 5201 題目描述 哈夫曼樹,第一行輸入乙個數n,表示葉結點的個數。需要用這些葉結點生成哈夫曼樹,根據哈夫曼樹的概念,這些結點有權值,即weight,題目需要輸出所有結點的值與權值的乘積之和。輸入 輸入有多組資料。每組第一...

30 題目1172 哈夫曼樹

題目描述 哈夫曼樹,第一行輸入乙個數n,表示葉結點的個數。需要用這些葉結點生成哈夫曼樹,根據哈夫曼樹的概念,這些結點有權值,即weight,題目需要輸出所有結點的值與權值的乘積之和。輸入 輸入有多組資料。每組第一行輸入乙個數n,接著輸入n個葉節點 葉節點權值不超過100,2 n 1000 輸出 輸出...