Pagini recente » Cod sursa (job #2434865) | Cod sursa (job #30206) | Cod sursa (job #473899) | Cod sursa (job #1729974) | Cod sursa (job #3170460)
#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;
}