Pagini recente » Cod sursa (job #850206) | Cod sursa (job #910998) | Cod sursa (job #2468355) | Cod sursa (job #867493) | Cod sursa (job #330282)
Cod sursa(job #330282)
#include <stdio.h>
#include <string.h>
#define Mod 3210121
int p1,p2,q1,q2,x,nr;
char A[1000];
char B[1000];
int n,m;
void mod(int x)
{
if (x>=Mod)
x-=Mod;
}
void tranzitie(int p1,int q1, int p2, int q2)
{
//int nr=0;
if (p1>n || p2>m) return ;
if (A[p1+1]==A[q1-1])
{
nr++;
mod(nr);
tranzitie(p1+1,q1-1,p2,q2);
return ;
}
else
if (A[p1+1]==B[q2-1])
{
nr++;
mod(nr);
tranzitie(p1+1,q1,p2,q2-1);
return ;
}
else
if (B[p2+1]==A[q1-1])
{
nr++;
mod(nr);
tranzitie(p1,q1-1,p2+1,q2);
return ;
}
else
if (B[p2+1]==B[q2-1])
{
nr++;
mod(nr);
tranzitie(p1,q1,p2+1,q2-1);
return ;
}
}
int main()
{
freopen("iv.in","r",stdin);
scanf("%s\n", A+1);
scanf("%s\n", B+1);
p1=1;
q1=1;
p2=strlen(A+1);
q2=strlen(B+1);
n=p2;
m=q2;
nr=0;
tranzitie(p1,q1,p1,q2);
freopen("iv.out","w",stdout);
printf("%d",(2*nr)%Mod);
return 0;
}