华为上机:树的遍历

本文探讨了一种特殊的树遍历方法,要求每条边恰好被遍历两次,并且预定了叶子节点的遍历顺序。文章提供了输入输出示例及运行限制。
树遍历
描述:

按到如下要求遍历树:

1、对于给定的一棵树,要求从根节点开始遍历完所有节点,相对于一般的节点遍历,要求边的遍历,即每条边都要正好遍历过两次

2、对叶子节点的遍历,即会预先指定所有叶子节点的遍历先后顺序。

运行时间限制:10 Sec
内存限制:128 MByte
输入:

每个测试文件包含多个测试案例,每个测试案例包含三个部分: 

第一行为一个整数K,代表这棵树总的节点个数, K大于等于1并且K小于等于300。 

接下来是K – 1行,每行有两个整数,代表这棵树的K – 1条边。树节点的标号从1开始,且1代表根节点。 

最后一行为包含所有的叶子节点编号的一个整数序列, 代表所指定的叶子节点的遍历顺序。

输出:

对于每个测试案例,若满足规定条件的遍历序列存在,则输出这个序列,每两个节点之间由一个空格隔开,末尾没有空格。

 若不存在,则只需要输出一个-1。

样例输入:
3
1 2
2 3
3
6
1 2
1 3
2 4
4 5
4 6
5 3 6
样例输出:
1 2 3 2 1
-1
答案提示:

 

 不会做,求指导

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值