东华oj 1.huffman树

阅读 39

2022-02-28

#include <iostream>
#include <string.h>
#include<vector>
#include<algorithm>
using namespace std;

int main(){
    vector<int> v;
    int a;
    cin>>a;
    for(int i=0;i<a;i++){
        int b;
        cin>>b;
        v.push_back(b);
    }
   
    int sum=0,temp;
    while(v.size()!=1)
    {
      sort(v.begin(),v.end());
      temp=v[0]+v[1]; //最小的两个
      sum+=temp;
      v.erase(v.begin(),v.begin()+2); //删除最小的两个
      v.push_back(temp); //加入
      
    }
    
    cout<<sum<<endl;
    
  

    return 0;
}

vector的使用,erase,sort等操作

精彩评论(0)

0 0 举报