模拟题,数据量较小,直接暴力枚举
#include <iostream>
using namespace std;
int main(){
int tlen,tans=0,ansf=0;
cin>>tlen;
string text,mode,ans;
cin>>text;
while(tlen<text.length())
{
for(int i=0;i<=text.length()-tlen;i++)
{
mode="";
int tmp=0;
while(tmp<tlen)
{
mode=mode+text[i+tmp];
tmp++;
}
tans=0;
for(int i=0;i<text.length();i++)
{
if(text[i]==mode[0])
{
int j;
for(j=1;j<mode.length();j++)
{
if(mode[j]!=text[i+j])
break;
}
if(j==mode.length())
tans++;
}
}
if(tans==ansf&&mode.length()>ans.length())
{
ansf=tans;
ans=mode;
}
else if(tans>ansf)
{
ansf=tans;
ans=mode;
}
}
tlen++;
}
cout<<ans<<endl;
return 0;
}