5808: 2.6 神秘电报密码

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:38 解决:16

题目描述

看过谍战电影《风声》的观众都会对影片中神奇的消息传递惊叹不已!吴志国大队长在受了残忍的“针刑”之后躺在手术台上唱空城计,变了音调,把消息传给了护士,顾晓梦在 衣服上缝补了长短不一的针脚……那么,片中无处不在的摩尔斯码到底是什么?它又有着怎
样的神秘力量呢?
摩尔斯电码(Morse code)由点 dot. )、划 dash-)两种符号组成。它的基本原理是:
把英文字母表中的字母、标点符号和空格按照出现的频率排序,然后用点和划的组合来代表这些字母、标点符号和空格,使频率最高的符号具有最短的点划组合。

输入

输入样例组数:
t ( 0 < t < 10 )
输入节点数目:
n ( 0 < n < 30 )
输入节点的名称和值:
( x 为字母, 0 <= v < 1 )
x1 v1
x2 v2

...
xi vi

输出

输出每一个节点的哈夫曼编码:( 注:不同节点间用空格隔开,每个节点内冒号后用空格隔开)
x: y

样例输入 复制

1
6 
a 0.05 
b 0.32 
c 0.18 
d 0.07 
e 0.25 
f 0.13

样例输出 复制

a: 1000 b: 11 c: 00 d: 1001 e: 01 f: 101

来源/分类