Description
写一个哈夫曼码的编/译码系统,要求能对要传输的报文进行编码和解码。构造哈夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码为1,左子树编码为0。
Input
输入表示字符集大小为n(n <= 100)的正整数,以及n个字符和n个权值(正整数,值越大表示该字符出现的概率越大);输入串长小于或等于100的目标报文。
Output
经过编码后的二进制码,占一行;
以及对应解码后的报文,占一行;
最后输出一个回车符
-
Sample Input
5 a b c d e 12 40 15 8 25 bbbaddeccbbb
-
Sample Output
00011111110111010110110000
#include<stdio.h>
#include<stdlib.h>
#include<string.