题目描述
blablabla
样例
#include<bits/stdc++.h>
using namespace std;
const int maxn=100+10;
char a[maxn],b[maxn];
int f[maxn][maxn];
int main(){
scanf("%s%s",a+1,b+1);
int m=strlen(a+1);
int n=strlen(b+1);
int ans=0;
int record=0;
for(int i=0;i<=m;i++){
for(int j=0;j<=n;j++){
if(i==0||j==0){
f[i][j]=0;
continue;
}
if(a[i]==b[j]){
f[i][j]=f[i-1][j-1]+1;
if(ans<=f[i][j]){
record=i;
}
}else{
f[i][j]=0;
}
ans=max(ans,f[i][j]);
}
}
cout<<ans<<endl;
for(int i=record-ans+1;i<=record;i++){
cout<<a[i];
}
cout<<endl;
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla