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$ 也可以作为合法答案。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1182D/bcfdfd4a236e739c696e71629ab4415dcf5e3015.png) 下图为第二个样例的树结构。可以发现无法找到满足条件的根节点。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1182D/20dc627549d275e9f12102ecd454db1d1ee42f2f.png) 由 ChatGPT 4.1 翻译