//1071. Speech Patterns (25)
#include<string>
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
int flag[256]={0};
void init()
{
for(int i='0'; i<='9'; i++)
flag[i] = 1;
for(int i='a'; i<='z'; i++)
flag[i] = 1;
for(int i='A'; i<='Z'; i++)
flag[i] = 2;
flag['_'] = 1;
}
int main()
{
map<string,int> mp;
int MAX=0,i=0;
string word,ans,str;
init();
getline(cin,str);
while(i<str.length())
{
while(i<str.length() && flag[str[i]] == 0) //非法字符
{
i++;
}
while(i<str.length() && flag[str[i]] != 0)
{
if(flag[str[i]] == 2)
str[i] = str[i] + ('a' - 'A');
word += str[i];
i++;
}
mp[word]++;
word.clear();
}
for(map<string,int>::iterator it=mp.begin(); it!=mp.end(); it++)
{
if(it->second>MAX)
{
MAX = it->second;
ans = it->first;
}
}
cout<<ans<<" "<<MAX<<endl;
return 0;
}
1071. Speech Patterns (25)
最新推荐文章于 2022-07-18 11:21:26 发布