Pagini recente » Cod sursa (job #2549016) | Cod sursa (job #2102397) | Cod sursa (job #2536061) | Cod sursa (job #2930024) | Cod sursa (job #1405119)
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
ifstream f ("subsir.in");
ofstream g ("subsir.out");
char s[2][505];
unsigned bst[600];
int Max (unsigned x)
{
unsigned i,Max1=0;
for (i=0;i<x;i++)
if (bst[i]>Max1) Max1=bst[i];
return Max1;
}
int muz(int x, int y)
{
int i,j,Max1=0,cont=0;;
for (i=0;i<=505;i++)
bst[i]=0;
for (i=0;i<strlen(s[x]);i++)
{
j=strlen(s[y])-1;
while (j>=0)
{
while (j>0&&s[y][j]!=s[x][i]) j--;
if (s[y][j]==s[x][i])
{
bst[j]=Max(j)+1;
if (bst[j]>Max1)
Max1=bst[j];
}
j--;
}
}
for (i=0;i<strlen(s[y]);i++)
{
if (bst[i]==Max1) cont++;
}
return cont;
}
int main()
{
f>>s[0]>>s[1];
g<<muz(0,1);
return 0;
}