2419. prufer序列(prufer编码,模板题)

活动 - AcWing

本题需要你实现prufer序列与无根树之间的相互转化。

假设本题涉及的无根树共有 n 个节点,编号 1∼n。

为了更加简单明了的描述无根树的结构,我们不妨在输入和输出时将该无根树描述为一个以 n 号节点为根的有根树。

这样就可以设这棵无根树的父亲序列为 f1,f2,…,fn−1,其中 fi 表示将该树看作以 n 号节点为根的有根树时,i 号节点的父节点编号。

同时,设这棵无根树的prufer序列为 p1,p2,…,pn−2。

现在,给定一棵由 n 个节点构成的无根树,以及该无根树的一个序列(父亲序列或prufer序列),请你求出另一个序列。

输入格式

输入共两行。

第一行包含两个整数 n,m,表示无根树的节点数以及给定序列类型。

如果 m=1,则第二行包含 n−1 个整数,表示给定序列为父亲序列。

如果 m=2,则第二行包含 n−2 个整数,表示给定序列为prufer序列。

输出格式

共一行,输出另一个序列,整数之间用单个空格隔开。

数据范围

2≤n≤10^5

输入样例1:
6 1
3 5 4 5 6
输出样例1:
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值