Pagini recente » Cod sursa (job #1403356) | Cod sursa (job #2647641) | Cod sursa (job #1883277) | Cod sursa (job #2119636) | Cod sursa (job #612158)
Cod sursa(job #612158)
#include <fstream>
#include <string.h>
using namespace std;
ifstream fi("iv.in");
ofstream fo("iv.out");
int LA, LB, C;
char A[505], B[505];
void back (int ap, int au, int bp, int bu)
{
if ((au - ap) + (bu - bp) < 0)
{
C++;
return;
}
if (ap < au && A[ap] == A[au])
back (ap+1, au-1, bp, bu);
if (ap <= au && bp <= bu && A[ap] == B[bu])
back (ap+1, au, bp, bu-1);
if (bp <= bu && ap <= au && B[bp] == A[au])
back (ap, au-1, bp+1, bu);
if (bp < bu && B[bp] == B[bu])
back (ap, au, bp+1, bu-1);
}
int main ()
{
fi >> A >> B;
LA = strlen (A);
LB = strlen (B);
back (0, LA-1, 0, LB-1);
fo << C << '\n';
return 0;
}