题目大意
- 给出所有字母和顺序。
- 在输入
后,光标转向
。 - 还原顺序。
解题思路
我用的是深搜。
观察题目,明确两点。1. 当输入字母
后,光标转向左边,则必须要将其左边所有字母输出才可以输出
。
2.如果转向右边,则需要先输出
才会轮到其右边的字母。
当达到末尾
时,
已经没有意义,终止递归。
CODE
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
ll n;
string t,s;
void dfs(char now,char check,ll num){
if(num==n)return;
if(check=='L'){
num+=1;
dfs(s[num],t[num],num);
printf("%c",now);
}
else if(check='R'){
printf("%c",now);
num+=1;
dfs(s[num],t[num],num);
}
}
int main(){
cin>>s;
cin>>t;
n=s.length();
dfs(s[0],t[0],0);
return 0;
}
感谢观看!