代码
#include <cstdio>
#include <cstring>
#define M 20
char zx[M],hx[M];
int zxl,hxl;
void solve(char root, int l, int r)
{
if (l <= r)
{ printf("%c", root);
int p, q;
for (int i = hxl-1; i >= 0; i--)
if (zx[i] == root){ p = i; break;}
for (int i = hxl-1; i >= 0; i--)
if (hx[i] == root) { q = i; break;}
solve(hx[q-r+p-1], l, p-1);
solve(hx[q-1], p+1, r);
}
}
int main() {
scanf("%s",zx);
scanf("%s",hx);
hxl = strlen(hx);
char root = hx[hxl-1];
solve(root, 0, strlen(zx)-1);
return 0;
}