喵喵在开发一个新式的社交网络,现在她想要写一个模块来处理文本并计算其中不同标签的数量。
文本由小写英文字母,数字,符号 #
以及空格四种字符组成。我们把若干个连续的非空格字符定义成一个词,词的左右两边要么是空格要么就是文本的开头或者结尾。若一个词的长度大于 1 ,第一个字符是 #
而其它的字符都不是 #
,那我们称这个词是一个标签。
现在喵喵想计算文本中出现的不同标签的数量,并将其打印出来。
输入格式:
在一行中输入一个长度不超过 10^5
的字符串 str 表示要处理的文本
输出格式:
先在一行中输出一个整数 n,代表文本中出现的不同标签的个数
接下来 n 行,每行打印一个标签和这个标签出现的次数
标签可以按任何顺序打印
输入样例:
i have brought #peace #freedom #justice and #security to my new empire
输出样例:
4
#freedom 1
#justice 1
#peace 1
#security 1
注意前面有 #
最后一个没有换行
讲真用 c 写就很烦, hashmap 这部分我简单的糊弄了,如果标签数量大于 capacity 会有问题,你可以替换一个完整的
c++ 修改版