fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. string pss, iss;
  5. void func(string pss,string iss){
  6. if(pss=="" or iss=="") return;
  7. char ths=pss[0];
  8. int pvt;
  9. for(pvt=0; iss[pvt]!=ths; pvt++);
  10. // 遞迴處理左邊
  11. func(pss.substr(1,pvt),iss.substr(0,pvt));
  12. // 遞迴處理右邊
  13. func(pss.substr(pvt+1,pss.length()),iss.substr(pvt+1,iss.length()));
  14. // 輸出後序字元
  15. cout<<ths;
  16. }
  17. int main(){
  18. while( cin>>pss>>iss ){
  19. func(pss,iss);
  20. cout<<"\n";
  21. }
  22. }
Success #stdin #stdout 0.01s 5372KB
stdin
DBACEGF ABCDEFG
BCAD CBAD
stdout
ACBFGED
CDAB