【题目描述】
有一种树哈希的方式,是将每个点的子树大小 siz 按照一个特定的 dfs 遍历顺 序排列,再用类似字符串哈希的方式求出哈希值
为了验证这种哈希方式的正确性,对于任意一个合法 siz 序列,你需要将其唯 一对应成一棵树
给出 siz 序列,如果存在一棵与其对应的树,你需要求出这棵树上每个节点的
父亲,否则输出 No Solution!
你需要在单组测试点中处理 T 组数据的询问。
【输入格式】
从文件 hash.in 中读入数据。
第一行,一个正整数 T,表示数据组数,对于每组数据:
第一行,一个正整数 n,表示节点个数。
第二行 n 个正整数,sizi 表示 dfs 序中第 i 个点的子树大小。
【输出格式】
输出到文件 hash.out 中。
输出一行 n − 1 个数,第 i 个数表示 dfs 序中第 i + 1 个节点的父亲
【样例输入1】
2
8
8 3 2 1 4 1 1 1
6
6 5 4 3 2 2
【样例输出1】
1 2 3 1 5 5 5
No Solution!
【样例解释】
对于第一个数据点,如图,按照 $1, 2, \dots , 8$ 的顺序遍历,可以得到给出的 siz 序列
【数据范围】
对于 $20 \%$ 的数据,$n \leq 10$
对于所有数据,$T \leq 10,n \leq 10^5,siz_i \leq n$。