题目:
题意:
给出我们一个字符串,求他们中最长的子串的长度
分析:
首先,我们要注意的是题目中提出我们要求的是子串,所以长度>1!
然后,我们再注意下字符串的长度,瞬间哈哈——<=60。随后我们就可以纯暴力AC。
AC后感想:
不得不说,这题真的是水。但是小编一开始傻傻的以为第一次找到的就一定是最大值。可想而知。。。但居然还AC了9个点《⊙⊙》。
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define LL long long
using namespace std;
inline LL read()
{
LL a=0,f=1;char s=getchar();
while(s<'0'||s>'9') {if(s=='-') f=-1;s=getchar();}
while(s>='0'&&s<='9') {a=a*10+s-'0';s=getchar();}
return a*f;
}
string s,z,c,kc;
int max(int x,int y)
{
return x>y? x:y;
}
int main()
{
cin>>s;
int l=s.size()-1;
int maxj=0;
for(int i=0;i<=l-1;i++)
{
for(int j=l;j>=2;j--)
{
c=kc;z=kc;
for(int k=i;k<=i+j-1;k++)
c+=s[k];
for(int k=i+1;k<=l;k++)
z+=s[k];
if(z.find(c)!=-1)
maxj=max(maxj,j);
}
}
printf("%d",maxj);
fclose(stdin);
fclose(stdout);
return 0;
}