待学完树补。
#include <iostream>
#include <deque>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <set>
using namespace std;
deque<int> q;
const int maxn = 30+ 6;
char a[maxn];
char b[maxn];
void build(int n, char a[], char b[]) {
if(n <= 0) return;
int p = strchr(b,a[0]) - b;
build(p,a+1,b);
build(n-p-1,a+p+1,b+p+1);
cout<<a[0];
}
int main() {
while (cin >> a >> b) {
int len = strlen(a);
build(len,a,b);
cout << endl;
}
}