递归做
#include<cstring>
#include<iostream>
#include<cstdio>
using namespace std;
string s1,s2;
void calc(int L1,int R1,int L2,int R2)
{
int m=s2.find(s1[L1]);
if(m>L2) calc(L1+1,L1+m-L2,L2,m-1);
if(m<R2) calc(L1+m-L2+1,R1,m+1,R2);
cout<<s1[L1];
}
int main()
{
while(cin>>s1>>s2)
{
calc(0,s1.size()-1,0,s2.size()-1);
cout<<endl;
}
}