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\n" , 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;
}
|
时间: 2024-12-18 22:59:19