Find maximum Lcs
#include <bits/stdc++.h>
using namespace std;
int lcs[110][110];
string s;
int m=0;
void FindLcs()
{
for(int i=1;i<=s.length();i++)
{
for(int j=1;j<=s.length();j++)
{
if(i!=j&&s[i-1]==s[j-1])
lcs[i][j]=lcs[i-1][j-1]+1;
else
lcs[i][j]=0;
m=max(m,lcs[i][j]);
}
}
}
void ini()
{
for(int i=0;i<=s.length();i++)
{
lcs[i][0]=0;
lcs[0][i]=0;
}
}
int main()
{
cin>>s;
ini();
FindLcs();
cout<<m<<endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int lcs[110][110];
string s;
int m=0;
void FindLcs()
{
for(int i=1;i<=s.length();i++)
{
for(int j=1;j<=s.length();j++)
{
if(i!=j&&s[i-1]==s[j-1])
lcs[i][j]=lcs[i-1][j-1]+1;
else
lcs[i][j]=0;
m=max(m,lcs[i][j]);
}
}
}
void ini()
{
for(int i=0;i<=s.length();i++)
{
lcs[i][0]=0;
lcs[0][i]=0;
}
}
int main()
{
cin>>s;
ini();
FindLcs();
cout<<m<<endl;
return 0;
}
0 comments :
Post a Comment