枚举第一个字符串和第二个字符串的起点,然后向后匹配,找到最大值。
以下是我的代码:
#include<iostream>
using namespace std;
string a,b;
long la,lb,ans;
long f(long abegin,long bbegin)
{
for(long i=0; ;i++)
if(i+abegin>=la||i+bbegin>=lb||a.at(i+abegin)!=b.at(i+bbegin))
return i;
}
int main()
{
cin>>a>>b;
la=a.length();
lb=b.length();
ans=0;
for(long i=0;i<la;i++)
for(long j=0;j<lb;j++)
{
long t=f(i,j);
if(ans<t) ans=t;
}
cout<<ans<<endl;
return 0;
}
posted on 2010-10-22 10:43
lee1r 阅读(504)
评论(0) 编辑 收藏 引用 所属分类:
题目分类:字符串处理