题目:https://www.patest.cn/contests/pat-a-practise/1071
代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<map>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
bool check(char c){
if(c>='0'&&c<='9')return true;
if(c>='a'&&c<='z')return true;
if(c>='A'&&c<='Z')return true;
return false;
}
int main()
{
map<string,int>s;
string str;
getline(cin,str);
int i=0;
while(i<str.length()){
string temp;
while(i<str.length()&&check(str[i])==true){
if(str[i]>='A'&&str[i]<='Z'){
str[i]+=32;
}
temp+=str[i];
i++;
}
if(temp!=" "){
if(s.find(temp)==s.end()) s[temp]=1;
else s[temp]++;
}
while(i<str.length()&&check(str[i])==false){
i++;
}
}
string final;
int max=0;
for(map<string,int>::iterator i=s.begin();i!=s.end();i++){
if(i->second>max){
max=i->second;
final=i->first;
}
}
cout<<final<<" "<<max<<endl;
system("pause");
}