Processing math: 100%
编程题
                ### 问题描述

在一个遥远的星球上,有两个主导的技术派别,他们分别是 ASCII 星人和哈夫曼星人。ASCII 星人坚持使用传统的 8 位编码方式表示他们的文字,而哈夫曼星人则坚持使用哈夫曼编码,他们认为这种方法更加经济和高效。

某天,两派决定举办一个友好的比赛来看看哪种编码方式在实际应用中更加高效。你作为一个中立的数字通信专家被邀请来做这个比赛的裁判。

你的任务是:对于一个给定的字符串,计算出使用 ASCII 编码和哈夫曼编码后的长度,帮助他们公正地决定哪种编码方式更节省空间。

输入格式

一个字符串,长度不超过 100000 个字符。该字符串只包含 ASCII 可打印字符。

输出格式

两行,每行一个整数。

第一行表示使用普通 ASCII 编码后的位数。

第二行表示使用哈夫曼编码后的位数。

样例输入

Hello, World!

样例输出

104
42

说明

普通的 ASCII 编码是一个固定长度的编码方式,每个字符使用 8 位表示。

哈夫曼编码是一个变长编码方式,它基于字符出现的频率来为每个字符分配一个独特的位串。

评测数据规模

对于 50% 的评测数据,字符串长度不超过 103 个字符。

对于 100% 的评测数据,字符串长度不超过 105 个字符。

查看答案
赣ICP备20007335号-2