当k==0时居然不输出第三行,无语了,,,,
(注:博客作为交流使用,切勿抄袭应付作业)
#include<bits/stdc++.h>
using namespace std;
map<string,int>mp1;
map<string,int>::iterator it;
bool is_char(char tmp)
{
if ((tmp>='a'&&tmp<='z')
||(tmp>='A'&&tmp<='Z'))
{
return true;
}
else
return false;
}
bool is_num(char tmp)
{
if (tmp>='0'&&tmp<='9')
return true;
else
return false;
}
bool is_all(char tmp)
{
if ((tmp>='a'&&tmp<='z')
||(tmp>='A'&&tmp<='Z'))
{
return true;
}
if (tmp>='0'&&tmp<='9')
return true;
return false;
}
int main()
{
int n;
cin>>n;
getchar();
string s;
while (n--)
{
getline(cin,s);
map<string,int>mp2;
int len=(int)s.size();
for (int i=0; i<len; i++)
{
if (s[i]=='#')
{
string tmp="";
string tmp1="";
int x;
for (int j=i+1; s[j]!='#'; j++)
{
if (is_char(s[j]))
{
tmp+=tolower(s[j]);
}
else if (is_num(s[j]))
{
tmp+=s[j];
}
else
{
tmp+=' ';
}
x=j;
}
x++;
i=x;
int lentmp=(int)tmp.size();
int first=1;
for (int j=0; j<lentmp; j++)
{
if (is_all(tmp[j]))
{
int y;
if (first)
first=0;
else
tmp1+=' ';
for (int k=j; k<lentmp&&is_all(tmp[k]); k++)
{
tmp1+=tmp[k];
y=k;
}
j=y;
}
}
if (mp2[tmp1]==0)
{
mp2[tmp1]++;
mp1[tmp1]++;
}
}
}
}
int maxn=-1,tot=0;
string ans="z";
for (it=mp1.begin();it!=mp1.end();it++)
{
maxn=max(maxn,it->second);
}
for (it=mp1.begin();it!=mp1.end();it++)
{
if (it->second==maxn)
{
tot++;
if (it->first<ans)
{
ans=it->first;
}
}
}
tot--;
if (is_char(ans[0]))
{
ans[0]=toupper(ans[0]);
}
cout<<ans<<endl;
cout<<maxn<<endl;
if (tot)
cout<<"And "<<tot<<" more ..."<<endl;
return 0;
}