注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Minary_Acdream

http://f10.moe/

 
 
 

日志

 
 

[nbut] 1020 聊天字数统计  

2012-11-01 22:45:04|  分类: NBUT OJ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
以前很纠结的题目现在觉得挺水的,就把它A了。
这题要注意的地方在于输入要在EOF的时候结束,不然输入会导致超时。

  • 问题描述
  • 有一群聊天记录,现在需要你统计每个人的聊天内容里有多少字符。

    聊天人名仅包含大小写字母,然后是一个冒号,然后空一格,接下去是这个人聊天的内容。每个人每次聊天内容仅一行,所以不会出现多个回车。聊天内容为大小写字母、数字以及标点符号(,.-_+="'|)和空格。

  • 输入
  • 输出
  • 对于每组数据,聊天人名按字典序排序,对于每个聊天人输出其聊天总的字符数。一个人一行,每行聊天内容不超过10000。
    每组数据末尾包含一行“分隔符”。
  • 样例输入
  • aaa: Hi! 
    bbb: d**n it! 
    aaa: lol~ 
    ---------- 
  • 样例输出
  • aaa: 7 
    bbb: 8 
    ---------- 
  • 提示
  • 来源
  • XadillaX


#include<iostream>
#include<string>
#include<algorithm>
#include<map>
using namespace std;
map<string,int>NameNum;

bool Do()
{
NameNum.clear();
char ss[10001];
int flag = 0;
while(scanf("%s",ss) != EOF)
{
flag = 1;
string str1(ss);
if(str1 != "----------")
{
char s[1000001];
scanf("%[^\n]",s);
int len = strlen(s) - 1;
NameNum[str1] += len;
}
else break;
}
if(flag == 0) return 0;
for(map<string,int>::iterator it = NameNum.begin();it != NameNum.end();it ++)
{
printf("%s %d\n",(it->first).c_str(),it->second);
}
cout<<"----------"<<endl;
return 1;
}
int main()
{
while(Do());
return 0;
}
/*
样例输入
aaa: Hi!
bbb: d**n it!
aaa: lol~
----------
样例输出
aaa: 7
bbb: 8
----------*/



  评论这张
 
阅读(354)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018