CF1182D Complete Mirror
题目描述
给定一棵包含 $n$ 个顶点的树。选择一个顶点作为根节点,使其满足以下条件:
- 对于所有顶点 $v_1$ 和 $v_2$,如果 $distance(root, v_1) = distance(root, v_2)$,那么 $degree(v_1) = degree(v_2)$。其中 $degree$ 表示该顶点连接的顶点数,$distance$ 表示两个顶点之间的边数。
判断是否存在这样的根节点,并输出任意一个满足条件的根节点编号。如果有多个答案,输出其中任意一个。
输入格式
第一行包含一个整数 $n$($1 \le n \le 10^{5}$),表示顶点数。
接下来的 $n-1$ 行,每行包含两个整数 $v_i$ 和 $u_i$($1 \le v_i < u_i \le n$),表示在 $v_i$ 和 $u_i$ 之间有一条边。保证给定的图是一棵树。
输出格式
如果存在满足条件的根节点,输出任意一个根节点编号。否则,输出 $-1$。
说明/提示
下图为第一个样例的树结构。$1$、$5$、$7$ 也可以作为合法答案。

下图为第二个样例的树结构。可以发现无法找到满足条件的根节点。

由 ChatGPT 4.1 翻译