hdu_1030 求先序排列

#include<bits/stdc++.h>

using namespace std;

string a,b;

int n;

void dfs(int l,int r){

int now=0;

for(int i=n-1;i>=0;i--)if(!now)

for(int j=l;j<=r;j++)if(b[i]==a[j]){now=j; break;}

putchar(a[now]);

if(now-1>=l)dfs(l,now-1);

if(now+1<=r)dfs(now+1,r);

}

int main(){

cin>>a>>b;

n=a.size();

dfs(0,n-1);

puts("");

return 0;

}

时间: 2024-10-03 22:24:56

hdu_1030 求先序排列的相关文章

算法训练 求先序排列

问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入格式 两行,每行一个字符串,分别表示中序和后序排列 输出格式 一个字符串,表示所求先序排列 样例输入 BADC BDCA 样例输出 ABCD 1 import java.math.BigInteger; 2 import java.util.Arrays; 3 import java.util.Scanner; 4 5 6 public class Main { 7 static S

蓝桥 - 求先序排列(知中序和后序求先序)

Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). Input 两行,每行一个字符串,分别表示中序和后序排列 Output 一个字符串,表示所求先序排列 Sample Input BADC BDCA Sample Output ABCD 1 #include <bits/stdc++.h> 2 const int INF=0x3f3f3f3f; 3 typedef long long LL; 4 const doub

洛谷 P1030 求先序排列 Label:None

题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列. 输出格式: 1行,表示一棵二叉树的先序. 输入输出样例 输入样例#1: BADC BDCA 输出样例#1: ABCD 代码 1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 #inclu

luogu1030 求先序排列

https://www.luogu.org/problemnew/show/1030 题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列. 输出格式: 1行,表示一棵二叉树的先序. 输入输出样例 输入样例#1: BADC BDCA 输出样例#1: ABCD 1 #include<cstdio> 2 #include<string>

codevs 1013 求先序排列(二叉树遍历)

传送门 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). Input 两个字符串,分别是中序和后序(每行一个) Output 一个字符串,为二叉树的先序序列 Sample Input BADC BDCA Sample Output ABCD 思路 我们知道,前序遍历(PreOrder):根节点->左子树->右子树:中序遍历(InOrder):左子树->根节点->右子树:(PostOrder)后序遍历:左

codevs 1013 求先序排列 2001年NOIP全国联赛普及组 x

题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Input Description 两个字符串,分别是中序和后序(每行一个) 输出描述 Output Description 一个字符串,先序 样例输入 Sample Input BADC BDCA 样例输出 Sample Output ABCD 数据范围及提示 Data Size & Hint 分类标签 Tags 点此展开 #include<

求先序排列

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Input Description 两个字符串,分别是中序和后序(每行一个) 输出描述 Output Description 一个字符串,先序 样例输入 Sample Input BADC BDCA 样例输出 Sample Output ABCD 数据范

2001求先序排列

题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Input Description 两个字符串,分别是中序和后序(每行一个) 输出描述 Output Description 一个字符串,先序 样例输入 Sample Input BADC BDCA 样例输出 Sample Output ABCD 数据范围及提示 Data Size & Hint 题解: 树形搜索. 用后序遍历确定根节点,中序遍历确定

codevs 1013 求先序排列

题目链接:http://codevs.cn/problem/1013/ 题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Input Description 两个字符串,分别是中序和后序(每行一个) 输出描述 Output Description 一个字符串,先序 样例输入 Sample Input BADC BDCA 样例输出 Sample Output ABCD 1 #include<stdio.