Pagini recente » Cod sursa (job #1092443) | Cod sursa (job #510160) | Cod sursa (job #3039117) | Cod sursa (job #3279891) | Cod sursa (job #458181)
Cod sursa(job #458181)
#include <cstdio>
#include <cstring>
char a[505],b[505];
int max,nr,i,j,n,m,mx[505],nm[505],q,p;
int main()
{
freopen("subsir.in","r",stdin);
freopen("subsir.out","w",stdout);
scanf("%s\n%s",a,b);
n=strlen(a)-1;
m=strlen(b)-1;
for (i=0;i<=n;++i)
{
int max=0,nr=1;
for (j=0;j<=m;++j)
{
q=mx[j];p=nm[j];
if (a[i]==b[j])
mx[j]=max+1;nm[j]=nr;
if ((q==max) && (q!=0)) nr+=p; else
if (q>max)
max=q,nr=p;
}
}
max=0,nr=0;
for (j=0;j<=m;++j)
if ((mx[j]==max) && (mx[j]!=0)) nr+=nm[j]; else
if (mx[j]>max)
max=mx[j],nr=nm[j];
printf("%d",nr);
return 0;}