1 条题解
-
0
#include<bits/stdc++.h> using namespace std; char a[35],b[35]; void dfs(int aL,int aR,int bL,int bR) { if(aL>aR) return ; int p;for(int i=aL;i<=aR;i++)if(a[i]==b[bR]){p=i;break;} int LL=(p-1)-aL+1;//左孩子树有多少个点 printf("%c",b[bR]); dfs( aL , (p-1) , bL , bL+LL-1 ); dfs((p+1) , aR , bL+LL-1+1 , bR-1 ); } int main() { scanf("%s%s",a+1,b+1); int len=strlen(a+1); dfs(1,len,1,len); return 0; }
- 1
信息
- ID
- 529
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 311
- 已通过
- 73
- 上传者