#803. 统计字符频率

统计字符频率

题目描述

读入一段长度不超过 1,000,000 的 ASCII 字符串(以换行结束),统计每个可见 ASCII 字符(码值 32–126)出现的次数,并按出现次数从高到低输出;若次数相同,则按字符的 ASCII 码从小到大输出。

输入格式

1行。一段长度 ≤10^5 的 ASCII 字符串。

输出格式

多行。第一行一个整数n,表示这个字符串中有n个不同的字符。后面n行,每行由字符和这个字符的频率组成。

样例

输入样例 1

this is an example for huffman encoding

输出样例 1

19
  6
n 4
a 3
e 3
f 3
i 3
h 2
m 2
o 2
s 2
c 1
d 1
g 1
l 1
p 1
r 1
t 1
u 1
x 1

输入样例 2

at a construction site in Sainte-Flaive-des-Loups

输出样例 2

19
  5
i 5
t 5
a 4
e 4
n 4
s 4
- 3
o 3
c 2
u 2
F 1
L 1
S 1
d 1
l 1
p 1
r 1
v 1

输入样例 3

full of dreams for a better future

输出样例 3

13
  6
e 4
f 4
r 4
t 3
u 3
a 2
l 2
o 2
b 1
d 1
m 1
s 1