题目大意

  • 给出所有字母和顺序。
  • 在输入 后,光标转向
  • 还原顺序。

    解题思路

    我用的是深搜
    观察题目,明确两点。

    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;
}

感谢观看!