P1827 [USACO3.4] 美国血统 American Heritage
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
void dfs(int s,int e,int r){
int post = s1.find(s2[r]);
int len1 = post-s;
int len2 = e-post;
if(len1){
dfs(s,post-1,r+1);
}
if(len2){
dfs(post+1,e,r+len1+1);
}
cout<<s2[r]; //s1[post]
}
int main(){
cin>>s2>>s1;
dfs(0,s1.size()-1,0);
return 0;
}` ` `