3 条题解

  • 0
    @ 2024-8-14 15:57:09

    #include <bits/stdc++.h> using namespace std; string post_str; string in_str; void dfs(int l1, int r1, int l2, int r2) { if (l1 > r1 || l2 > r2) return; int i = in_str.find(post_str[r1]); int cnt = i - l2; cout << post_str[r1]; dfs(l1, l1 + cnt - 1, l2, i - 1); dfs(l1 + cnt, r1 - 1, i + 1, r2); } int main(){ cin >> in_str >> post_str; int right = in_str.size() - 1; dfs(0, right, 0, right); return 0; }

    • 0
      @ 2024-8-14 15:54:34

      #include <bits/stdc++.h>

      using namespace std;

      string post_str;

      string in_str;

      void dfs(int l1, int r1, int l2, int r2)

      { if (l1 > r1 || l2 > r2) return;

      int i=in_str.find(post_str[r1]);

      int cnt=i-l2;

      cout<<post_str[r1];

      dfs(l1,l1+cnt-1,l2,i-1);

      dfs(l1+cnt,r1-1,i +1,r2);}

      int main(){

      cin>>in_str>>post_str;

      int right=in_str.size()-1;

      dfs(0,right,0,right);

      return 0;

      }

      • -1
        @ 2024-8-14 15:50:33

        #include <bits/stdc++.h>

        using namespace std; string post_str; string in_str; void dfs(int l1, int r1, int l2, int r2) { if (l1 > r1 || l2 > r2) return; int i = in_str.find(post_str[r1]); int cnt = i - l2; cout << post_str[r1]; dfs(l1, l1 + cnt - 1, l2, i - 1); dfs(l1 + cnt, r1 - 1, i + 1, r2); } int main() { cin >> in_str >> post_str; int right = in_str.size() - 1; dfs(0, right, 0, right); return 0; }

        • 1

        信息

        ID
        653
        时间
        1000ms
        内存
        125MiB
        难度
        6
        标签
        递交数
        19
        已通过
        12
        上传者