假设你需要从 $n$ 个顶点的所有带标号树的集合中生成一棵均匀分布的随机树。考虑以下算法:当图尚未连通时,从图中随机选择两个不同的顶点,如果它们不在同一个连通分量中,则在它们之间添加一条边。
执行上述过程是一个相当简单的任务,只需要一个简单的并查集(DSU)数据结构。不幸的是,事实证明该过程并不能生成均匀随机的带标号树!你的任务是区分上述过程生成的树和均匀随机的带标号树。
更准确地说,你将获得 $2k$ 棵具有 $n$ 个顶点的带标号树。其中恰好有 $k$ 棵树是从 $n$ 个顶点的所有带标号树的集合中均匀随机选择的,另外恰好有 $k$ 棵树是由上述过程生成的。给出这 $2k$ 棵树的顺序也是均匀随机选择的。所有的随机选择都是相互独立的。
对于这 $2k$ 棵树中的每一棵,你需要判断它是均匀随机选择的,还是由上述过程生成的。但是,你被允许犯一些错误。在每个测试点上,如果你的解决方案的准确率达到 $80\%$ 或以上,则该测试点将被接受。虽然保证输入中恰好有 $k$ 棵树是以一种方式生成的,另外 $k$ 棵树是以另一种方式生成的,但对于你识别为“真正均匀”的树的数量没有限制。
本题共有 6 个测试点:一个样例和五个主测试点。在所有主测试点中,$n = 10^4$ 且 $k = 50$。在样例中,$n = 4$ 且 $k = 2$。样例旨在阐明输入和输出格式。对于样例,任何满足输出格式的答案都将被接受。保证样例是测试系统中的第一个测试点。
输入格式
第一行包含两个整数 $n$ 和 $k$(样例中 $n = 4, k = 2$;五个主测试点中 $n = 10^4, k = 50$)。
接下来的 $n - 1$ 行,每行包含两个整数 $u$ 和 $v$($1 \le u, v \le n; u \neq v$):表示第一棵给定树中通过边连接的顶点。
剩余的 $(2k - 1)(n - 1)$ 行以相同的格式描述了其余的 $2k - 1$ 棵树。
输出格式
输出 $2k$ 行:第 $i$ 行应为 “DSU” 或 “Uniform”,取决于你认为第 $i$ 棵树是由题目中给出的过程生成的,还是从 $n$ 个顶点的所有带标号树的集合中均匀随机选择的。对于样例,任何满足输出格式的答案都将被接受;对于主测试点,你最多被允许犯 20 个错误。
样例
输入 1
4 2 3 2 1 4 1 3 2 1 3 2 4 1 4 1 3 2 2 4 1 4 3 1 2 1
输出 1
DSU Uniform DSU Uniform