Add All UVA

来源:互联网 发布:迅捷路由器绑定mac干嘛 编辑:程序博客网 时间:2024/06/07 00:48

很简单的一道题目,考察的是huffman树,然而这个题目更简单,不需要建树,直接利用优先队列来进行处理,最后输出最终的结果就可以了,具体实现见如下代码:

#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>#include<functional>using namespace std;int main(){int N;while (cin >> N){if (N == 0) break;priority_queue<int, vector<int>, greater<int>> pq;for (int i = 0; i < N; i++){int t;cin >> t;pq.push(t);}int ans = 0;for (int i = 0; i < N - 1; i++){int a = pq.top();pq.pop();int b = pq.top();pq.pop();ans += a + b;pq.push(a+b);}cout << ans << endl;}return 0;}

原创粉丝点击