Cod sursa(job #2485277)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 1 noiembrie 2019 11:20:32
Problema Iv Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
#include <cstring>

using namespace std;
ifstream f("iv.in");
ofstream g("iv.out");
char a[510], b[510];
int d[2][110][510];

int main()
{
    f>>a+1>>b+1;
    int n = strlen(a+1), m = strlen(b+1);
    ///d[L][i][j] = posibilitati de lungime L*2 cu i din a la inceput 
    /// si L-i din b, j din a la sfarsit si L-j din b
    //initializez
    if ( a[1] == a[n] ) d[1][1][1] = 1; //ambele din a 
    if ( b[1] == b[m] ) d[1][0][0] = 1; //ambele din b
    if ( a[1] == b[m] ) d[1][1][0] = 1; //primul din a, al doilea din b
    if ( b[1] == a[n] ) d[1][0][1] = 1; //primul din b, al doilea din a
    for ( L=2; L <= (n+m)/2, L++)
        for ( i=0; i <= n && i <= L; i++ )
            for ( j=0; i+j <= n && j <= L; j++ ){
                d[t][i][j] = 0;
                
                if ( a[i] == a[L-i] && i && n-j+1 <= n  )
                    d[t][i][j] = ( d[t][i][j] + d[t-1][i-1][j-1] ) % MOD;
                
                if ( b[L-i] == b[n])
            }
    return 0;
}