Pagini recente » Cod sursa (job #2872599) | Borderou de evaluare (job #1071567) | rar41 | Cod sursa (job #2459118) | Cod sursa (job #2504326)
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char a[510],b[510];
int v[510][510],hmax,n,m;
void afis(){
int i,j,nr=0;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(v[i][j]==hmax&&a[i]!=b[j]&&a[i-1]!=b[j-1])nr++;
}
}
printf("%d",nr);
}
void cmlsc(){
int i,j;
hmax=0;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(a[i-1]==b[j-1]){
v[i][j]=v[i-1][j-1]+1;
}else{
v[i][j]=max(v[i-1][j],v[i][j-1]);
}
hmax=max(hmax,v[i][j]);
}
}
}
int main()
{
freopen("subsir.in","r",stdin);
freopen("subsir.out","w",stdout);
int i,j;
gets(a);
gets(b);
n=strlen(a);
m=strlen(b);
cmlsc();
afis();
return 0;
}