#P16103. [2022国家队训练南京站]travel

[2022国家队训练南京站]travel

题目描述

给定一棵有 nn 个节点的树,第 ii 条边连接 ui,viu_i,v_i

需要找到一个 nn 阶排列 pp,使得按照排列顺序访问所有节点时,总经过边数恰好为 kk。根据参数 op{1,2}op\in\{1,2\},有两种要求:

  1. op=1op=1,要求

    i=1n1dis(pi,pi+1)=k.\sum_{i=1}^{n-1} dis(p_i,p_{i+1})=k.
  2. op=2op=2,要求

    i=1ndis(pi,p(imodn)+1)=k.\sum_{i=1}^{n} dis(p_i,p_{(i\bmod n)+1})=k.

其中 dis(x,y)dis(x,y) 表示树上 x,yx,y 之间最短路径经过的边数。

若存在多个方案,输出任意一个;若不存在,输出 -1

输入格式

第一行输入一个非负整数 TT,表示数据组数。

接下来依次给出每组数据。每组数据第一行包含三个整数 n,k,opn,k,op

接下来 n1n-1 行,每行两个整数 ui,viu_i,v_i,表示一条树边。

输出格式

对于每组数据,输出一行。

若无解,输出一个整数 -1

否则输出 nn 个整数 p1,p2,,pnp_1,p_2,\ldots,p_n,表示一个满足条件的排列。

样例

样例输入 1

3
5 7 1
1 2
1 3
2 4
2 5
4 6 1
1 2
1 3
1 4
1 0 1

样例输出 1

3 4 2 1 5
-1
1

样例输入 2

3
5 10 2
1 2
1 3
2 4
2 5
4 6 2
1 2
1 3
1 4
1 0 2

样例输出 2

3 4 2 1 5
1 2 3 4
1

数据范围与限制

对所有数据:

  • T5×105T\le 5\times 10^5
  • 1n5×1051\le n\le 5\times 10^5
  • n5×105\sum n\le 5\times 10^5
  • 0kn20\le k\le n^2
  • op{1,2}op\in\{1,2\}
  • 输入边构成一棵合法的树。

若只正确回答所有 op=1op=1 或所有 op=2op=2 的询问,可以获得 50%50\% 分数;但其它询问也必须输出合法格式。