1P1030 [NOIP2001 普及组] 求先序排列
#include<bits/stdc++.h>
using namespace std;
char s1[10],s2[10];
void dfs(int l,int r,int x){
cout<<s2[r+x];
for(int i=0;i<strlen(s1);i++){
if(s2[r+x]==s1[i]){
if(l<i)dfs(l,i-1,x);
if(i<r)dfs(i+1,r,x-1);
}
}
}
int main(){
cin>>s1>>s2;
int l=0,r=strlen(s1)-1,x=0;
dfs(l,r,x);
return 0;
}