树-堆结构练习——合并果子之哈夫曼树

    xiaoxiao2024-07-26  14

    #include<bits/stdc++.h> using namespace std; int bb[1000]; priority_queue<int,vector<int>,greater<int> > q; int main() { int n,i,lc,m; scanf("%d",&n); memset(bb,0,sizeof(bb)); for(i=0; i<n; i++) { scanf("%d",&m); q.push(m); } lc=0; while(!q.empty()) { int num=q.top(); q.pop(); if(!q.empty()) { int m=q.top(); q.pop(); int t=num+m; q.push(t); lc+=t; } } printf("%d\n",lc); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1291063.html
    最新回复(0)