水题
代码如下:
#include<iostream> #include<algorithm> #include<string> #include<set> #include<map> #include<stdio.h> using namespace std; struct Fuck{ string str; int num; }c[10004]; int cmp(Fuck a,Fuck b) { if(a.num==b.num) return a.str<b.str; return a.num>b.num; } using namespace std; int main() { string str,str1; map<string,int>mymap; mymap.clear(); int l=0; while(cin>>str) { int len=str.length(); if(str[len-1]=='.'||str[len-1]==',') str1=str.substr(0,len-1); else str1=str; l++; mymap[str1]++; } map<string,int>::iterator it; int i=0; for(it=mymap.begin();it!=mymap.end();it++) { c[i].str=it->first; c[i].num=it->second; i++; } int len=i; sort(c,c+len,cmp); for(int i=0;i<10;i++) cout<<c[i].str<<" "<<c[i].num<<endl; return 0; } /************************************************************** Problem: 4188 User: team201721 Language: C++ Result: 正确 Time:0 ms Memory:1872 kb ****************************************************************/