Uva10954 Add All(哈夫曼编码问题)
程序员文章站
2022-06-02 11:50:00
...
#include<iostream>
#include <math.h>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
#include<queue>
priority_queue<int, vector<int>, greater<int> > q;//优先队列,按照指定排列队列大小
int main() {
int n,ctn,num=0;
int x, y;
while (cin >> n && n) {
num = 0;
while (!q.empty()) q.pop();
for (int i = 0; i < n; i++) {
cin >> ctn;
q.push(ctn);
}
for (int i = 0; i < n-1; i++) {
x = q.top(); q.pop();
y = q.top(); q.pop();
q.push(x + y);
num += x + y;
}
cout << num << endl;
}
}
上一篇: 在CDR中给图片添加半调网屏艺术效果
下一篇: 二叉树左右子树的翻转