Cod sursa(job #2029087)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 29 septembrie 2017 11:08:14
Problema Subsir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
# include <fstream>
# include <cstring>
using namespace std;
ifstream fin("subsir.in");
ofstream fout("subsir.out");
char a[505],b[505];
int d[505][505],n,m,i,j;
int main () {
    fin>>a+1>>b+1;
    n=strlen(a+1);
    m=strlen(b+1);
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            if(a[i]==b[j]){
                d[i][j]=d[i-1][j-1];
                if(d[i-1][j-1]==0)
                    d[i][j]=1;
            }
            else{
                if(a[i-1]==b[j])
                    d[i][j]=d[i-1][j];
                if(a[i]==b[j-1])
                    d[i][j]+=d[i][j-1];
                if(a[i]!=b[j-1]&&a[i-1]!=b[j])
                    d[i][j]=d[i-1][j-1];
            }
    fout<<d[n][m]<<"\n";
    return 0;
}