#include<bits/stdc++.h>
using namespace std;
string zx,qx;
void dfs(int zs,int ze,int qs,int qe){
if(zs==ze){
cout<<zx[zs];
return;
}
int i=zs;
for(;i<ze;i++){
if(zx[i]==qx[qs]){
dfs(zs,i-1,qs+1,qs+(i-zs));//左子树
dfs(i+1,ze,qs+(i-zs)+1,qe);//右子树
break;
}
}cout<<qx[qs];
}
int main(){
cin>>zx>>qx;
dfs(0,zx.size(),0,qx.size());
return 0;
}
样例输入
ABEDFCHG
CBADEFGH
我的输出
AEFDBH?GC
?一个未知自负,评测说是ASCII0,把?去掉是样例正确答案。