题目:https://www.luogu.org/problemnew/show/P1030
字符串操作+递归,题不难,但我对字符串操作很不熟练,没有一次ac,递归也出了一些状况
#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
void dfs(string sin,string spo){
if(sin.length()==0)return;
char c=spo[spo.length()-1];
printf("%c",c);
int index=sin.find(c);
if(sin.length()==1){
return;
}
string nsin1=sin.substr(0,index);
string nsin2=sin.substr(index+1);
string nspo1=spo.substr(0,nsin1.length());
string nspo2=spo.substr(nsin1.length(),nsin2.length());
dfs(nsin1,nspo1);
dfs(nsin2,nspo2);
}
int main(){
char buf1[10];
char buf2[10];
scanf("%s%s",buf1,buf2);
string sin(buf1);
string spo(buf2);
dfs(sin,spo);
return 0;
}