#include <stdio.h>
#include <stdlib.h>
#include <deque>
#include <algorithm>
using namespace std;
struct huffman{
int freq;
int index;
huffman *left;
huffman *right;
};
huffman *temp;
deque<huffman *> littleTree;
bool compare(huffman *a, huffman *b) {
return a->freq<b->freq;
}
int main() {
int n, i;
int f[101];
scanf("%d",&n);
//輸入頻率 把每個頻率都建成一個節點
/* freq
/ \
NULL NULL
*/
for (i=1; i<=n; i++) {
scanf("%d",&f[i]);
temp=new huffman;
temp->freq=f[i];
temp->index=i;
temp->left=NULL;
temp->right=NULL;
littleTree.push_back(temp);
}
//排序後把兩個最小的取出來 合併成一個新節點
for (i=1; i<=n-1; i++) {
sort(littleTree.begin(), littleTree.end(), compare);
temp=new huffman;
temp->freq=littleTree[0]->freq+littleTree[1]->freq;
temp->index=0;
temp->left=littleTree[0];
temp->right=littleTree[1];
littleTree.pop_front();
littleTree.pop_front();
littleTree.push_back(temp);
}//huffman tree = littleTree[0]
printf("%d\n",n);
//輸出 huffman code
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGRlcXVlPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBodWZmbWFuewogICAgaW50IGZyZXE7CiAgICBpbnQgaW5kZXg7CiAgICBodWZmbWFuICpsZWZ0OwogICAgaHVmZm1hbiAqcmlnaHQ7Cn07Cmh1ZmZtYW4gKnRlbXA7CmRlcXVlPGh1ZmZtYW4gKj4gbGl0dGxlVHJlZTsKCmJvb2wgY29tcGFyZShodWZmbWFuICphLCBodWZmbWFuICpiKSB7CiAgICByZXR1cm4gYS0+ZnJlcTxiLT5mcmVxOwp9CgoKaW50IG1haW4oKSB7CiAgICAKICAgIGludCBuLCBpOwogICAgaW50IGZbMTAxXTsKICAgIAogICAgc2NhbmYoIiVkIiwmbik7CiAgICAKICAgIC8v6Ly45YWl6aC7546HICDmiormr4/lgIvpoLvnjofpg73lu7rmiJDkuIDlgIvnr4Dpu54KICAgIC8qICAgICAgZnJlcQogICAgICAgICAgIC8gICAgXAogICAgICAgICBOVUxMICBOVUxMCiAgICAgKi8KICAgIGZvciAoaT0xOyBpPD1uOyBpKyspIHsKICAgICAgICBzY2FuZigiJWQiLCZmW2ldKTsKICAgICAgICB0ZW1wPW5ldyBodWZmbWFuOwogICAgICAgIHRlbXAtPmZyZXE9ZltpXTsKICAgICAgICB0ZW1wLT5pbmRleD1pOwogICAgICAgIHRlbXAtPmxlZnQ9TlVMTDsKICAgICAgICB0ZW1wLT5yaWdodD1OVUxMOwogICAgICAgIGxpdHRsZVRyZWUucHVzaF9iYWNrKHRlbXApOwogICAgfQogICAgLy/mjpLluo/lvozmiorlhanlgIvmnIDlsI/nmoTlj5blh7rkvoYgIOWQiOS9teaIkOS4gOWAi+aWsOevgOm7ngogICAgZm9yIChpPTE7IGk8PW4tMTsgaSsrKSB7CiAgICAgICAgc29ydChsaXR0bGVUcmVlLmJlZ2luKCksIGxpdHRsZVRyZWUuZW5kKCksIGNvbXBhcmUpOwogICAgICAgIHRlbXA9bmV3IGh1ZmZtYW47CiAgICAgICAgdGVtcC0+ZnJlcT1saXR0bGVUcmVlWzBdLT5mcmVxK2xpdHRsZVRyZWVbMV0tPmZyZXE7CiAgICAgICAgdGVtcC0+aW5kZXg9MDsKICAgICAgICB0ZW1wLT5sZWZ0PWxpdHRsZVRyZWVbMF07CiAgICAgICAgdGVtcC0+cmlnaHQ9bGl0dGxlVHJlZVsxXTsKICAgICAgICBsaXR0bGVUcmVlLnBvcF9mcm9udCgpOwogICAgICAgIGxpdHRsZVRyZWUucG9wX2Zyb250KCk7CiAgICAgICAgbGl0dGxlVHJlZS5wdXNoX2JhY2sodGVtcCk7CiAgICB9Ly9odWZmbWFuIHRyZWUgPSBsaXR0bGVUcmVlWzBdCiAgICAKICAgIHByaW50ZigiJWRcbiIsbik7CiAgICAKICAgIC8v6Ly45Ye6IGh1ZmZtYW4gY29kZQogICAgcmV0dXJuIDA7Cn0=
Main.java:1: error: illegal character: '#'
#include <stdio.h>
^
Main.java:1: error: class, interface, or enum expected
#include <stdio.h>
^
Main.java:2: error: illegal character: '#'
#include <stdlib.h>
^
Main.java:3: error: illegal character: '#'
#include <deque>
^
Main.java:4: error: illegal character: '#'
#include <algorithm>
^
Main.java:8: error: class, interface, or enum expected
struct huffman{
^
Main.java:10: error: class, interface, or enum expected
int index;
^
Main.java:11: error: class, interface, or enum expected
huffman *left;
^
Main.java:12: error: class, interface, or enum expected
huffman *right;
^
Main.java:13: error: class, interface, or enum expected
};
^
Main.java:14: error: class, interface, or enum expected
huffman *temp;
^
Main.java:15: error: class, interface, or enum expected
deque<huffman *> littleTree;
^
Main.java:17: error: class, interface, or enum expected
bool compare(huffman *a, huffman *b) {
^
Main.java:19: error: class, interface, or enum expected
}
^
Main.java:25: error: class, interface, or enum expected
int f[101];
^
Main.java:27: error: class, interface, or enum expected
scanf("%d",&n);
^
Main.java:34: error: class, interface, or enum expected
for (i=1; i<=n; i++) {
^
Main.java:34: error: class, interface, or enum expected
for (i=1; i<=n; i++) {
^
Main.java:34: error: class, interface, or enum expected
for (i=1; i<=n; i++) {
^
Main.java:36: error: class, interface, or enum expected
temp=new huffman;
^
Main.java:37: error: class, interface, or enum expected
temp->freq=f[i];
^
Main.java:38: error: class, interface, or enum expected
temp->index=i;
^
Main.java:39: error: class, interface, or enum expected
temp->left=NULL;
^
Main.java:40: error: class, interface, or enum expected
temp->right=NULL;
^
Main.java:41: error: class, interface, or enum expected
littleTree.push_back(temp);
^
Main.java:42: error: class, interface, or enum expected
}
^
Main.java:44: error: class, interface, or enum expected
for (i=1; i<=n-1; i++) {
^
Main.java:44: error: class, interface, or enum expected
for (i=1; i<=n-1; i++) {
^
Main.java:46: error: class, interface, or enum expected
temp=new huffman;
^
Main.java:47: error: class, interface, or enum expected
temp->freq=littleTree[0]->freq+littleTree[1]->freq;
^
Main.java:48: error: class, interface, or enum expected
temp->index=0;
^
Main.java:49: error: class, interface, or enum expected
temp->left=littleTree[0];
^
Main.java:50: error: class, interface, or enum expected
temp->right=littleTree[1];
^
Main.java:51: error: class, interface, or enum expected
littleTree.pop_front();
^
Main.java:52: error: class, interface, or enum expected
littleTree.pop_front();
^
Main.java:53: error: class, interface, or enum expected
littleTree.push_back(temp);
^
Main.java:54: error: class, interface, or enum expected
}//huffman tree = littleTree[0]
^
Main.java:59: error: class, interface, or enum expected
return 0;
^
Main.java:60: error: class, interface, or enum expected
}
^
39 errors