群聊天

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;
}
原文地址:https://www.cnblogs.com/mengfanrong/p/5253591.html