Description
QQ有一个群聊天系统。方便非常多人在一起聊天。如今有一个群聊天的历史记录,请你统计一下每一个人说了多少。
Input
输入有非常多行。每行首先是一个人的昵称,然后一个冒号,一个空格,接着是这个人说过的话,比方: (yamadie: womenlailolba!)。昵称仅仅包括大写和小写字母,长度不超过10。
聊天内容仅包括大写和小写字母、数字及标点符号(,./|+-=:'[]<>?
*%#!())。长度不超过100。 每组数据以“--------”结束,每组数据不超过1000行。
Output
对于每组数据,聊天人名按字典序排序,对于每一个聊天人输出其聊天总的字符数。一个人一行。每组数据末尾包括一行“分隔符”。
Sample Input
Maxx: lalala! Daidao: hehe! Moonyu: bieshuohua! --------
Sample Output
Daidao: 5 Maxx: 7 Moonyu: 11
代码例如以下:
#include<cstdio>
#include<algorithm>
#include<string>
#include<map>
#include<cstring>
using
namespace
std;
char
s[500], c[500];
int
main()
{
map<string,
int
> m;
while
(~
scanf
(
"%s"
, s))
{
if
(
strcmp
(s,
"--------"
) == 0)
{
map<string,
int
>::iterator it;
it = m.begin();
while
(it != m.end())
{
printf
(
"%s: %d "
, it->first.c_str(), it->second);
it++;
}
puts
(
"--------"
);
m.clear();
continue
;
}
s[
strlen
(s) - 1] = 0;
scanf
(
"%s"
, c);
string st = s;
m[st] +=
strlen
(c);
}
return
0;
}