菲菲家的吳先森
阿新 • • 發佈:2019-02-12
QQ有一個群聊天系統,方便很多人在一起聊天。現在有一個群聊天的歷史記錄,請你統計一下每個人說了多少。
Input
輸入有很多行,每行首先是一個人的暱稱,然後一個冒號,一個空格,接著是這個人說過的話,比如: (yamadie: womenlailolba!)。暱稱只包含大小寫字母,長度不超過10。聊天內容僅包含大小寫字母、數字及標點符號(,./|+-=:'[]<>?*%#!()),長度不超過100。 每組資料以“--------”結束,每組資料不超過1000行。
對於每組資料,聊天人名按字典序排序,對於每個聊天人輸出其聊天總的字元數。一個人一行。 每組資料末尾包含一行“分隔符”。
Maxx: lalala! Daidao: hehe! Moonyu: bieshuohua! --------
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; } |