Cod sursa(job #3170460)

Utilizator Robert_MitriRobert Mitri Robert_Mitri Data 17 noiembrie 2023 18:04:36
Problema Iv Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("iv.in");
ofstream fout("iv.out");


char sa[25];
char sb[25];
int b[25];

int la;
int lb;
int sol;

char x[25];
int k = 0;

void verify()
{
    k=0;
    int pa=-1;
    int pb=-1;
    for(int i=1;i<=la+lb;i++)
    {
        if(!b[i])
        {
            x[++k]=sa[++pa];
        }
        else
            x[++k]=sb[++pb];
    }
    bool ok = true;
    for(int i =1,j=k;i<j;i++,j--)
    if(x[i]!=x[j]){
            ok=false;
        break;
    }
    sol+=ok;

}


void bk(int pas,int au,int bu)
{
    if(pas==la+lb+1)
    {
        verify();
        return;
    }
    if(au + 1 <= la)
    {
        b[pas]=0;
        bk(pas+1,au+1,bu);
    }
    if(bu+1 <= lb)
    {
        b[pas]=1;
        bk(pas+1,au,bu+1);
    }
}

int main()
{
    fin>>sa;
    fin>>sb;
    la=strlen(sa);
    lb=strlen(sb);
    bk(1,0,0);
    fout<<sol;

}