输入两个字符串 s1,s2。输出最长连续公共子串长度和最长连续公共子串。
输入格式
一行,两个字符串 s1,s2,用空格隔开。
输出格式
第一行输出最长连续公共子串的长度,第二行输出最长连续公共子串。如果不唯一,则输出 s1中的最后一个。
数据范围
1≤|s1|,|s2|≤100 数据保证至少存在一个连续公共子串。
输入样例:
abcdefg qwercdefiok
输出样例:
4
cdef
#include<iostream>
using namespace std;
int main()
{
string a,b,res;
cin>>a>>b;
for(int len=min(a.size(),b.size());len>=0;len--)
{
for(int i=a.size()-len;i>=0;i--)
{
for(int j=b.size()-len;j>=0;j--)
{
string x=a.substr(i,len);
string y=b.substr(j,len);
if(x==y)
{
res=x;
break;
}
}
if(res.size())
break;
}
if(res.size())
break;
}
cout<<res.size()<<endl<<res;
return 0;
}