NOJ[1020]チャットの字数統計

763 ワード

転送ゲート:http://acm.nbut.cn/Problem/view.xhtml?id=1020
mapの小さなアプリケーションはもちろん、辞書の木で名前を貯めることもできます。でも出力する時はこれを使います。strはmapの名前を出力します。
コードは以下の通りです
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<iterator>
#include<map>
using namespace std;
map<string, int> mp;
char a[50], b[10050];
int main()
{
	char c[20] = "----------";
	mp.clear();
	map<string, int>::iterator it;
	while(~scanf("%s%*c", a))
	{
		if(strcmp(a, c) == 0)
		{
			for(it = mp.begin(); it != mp.end(); it++)
			{
				printf("%s %d
", (it->first).c_str(), it->second); } puts(c); mp.clear(); } else { gets(b); mp[a] += strlen(b); } } return 0; }