Cod sursa(job #2504326)

Utilizator tryharderulbrebenel mihnea stefan tryharderul Data 4 decembrie 2019 20:06:55
Problema Subsir Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#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;
}