输入两个字符串 s1,s2。
输出最长连续公共子串长度和最长连续公共子串。
输入格式
一行,两个字符串 s1,s2,用空格隔开。
输出格式
第一行输出最长连续公共子串的长度
第二行输出最长连续公共子串。如果不唯一,则输出最后一个。
数据范围
1≤|s1|,|s2|≤1001
输入样例:
abcdefg qwercdefiok
输出样例:
4
cdef
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s1,s2;
cin>>s1>>s2;
int an=0;
int res = 0;
for(int i = 0;i<s1.size();i++)
{
for(int j = 0;j<s2.size();j++)
{
int ii= i;
int jj = j;
int ant = 0;
while(s1[ii]==s2[jj])
{
ii++;
jj++;
if(ii>s1.size()-1)
break;
ant++;
}
int y = i;
if(ant>=res)
{
res = ant;
an = y;
}
}
}
cout<<res<<endl;
for(int i=0;i<res;i++)
{
cout <<s1[an+i];
}
}