题库练习 Edge Weight Assignment
← 上一题 下一题 →

A13433 | Edge Weight Assignment

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You have unweighted tree of $n$ vertices. You have to assign a positive weight to each edge so that the following condition would hold:

- For every two different leaves $v_{1}$ and $v_{2}$ of this tree, [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR) of weights of all edges on the simple path between $v_{1}$ and $v_{2}$ has to be equal to $0$ .

Note that you can put very large positive integers (like $10^{(10^{10})}$ ).

It's guaranteed that such assignment always exists under given constraints. Now let's define $f$ as the number of distinct weights in assignment.

![](/uploads/luogu/CF1338B/eb47baeab358a9bf4d6536421055c2c258904b33_639c3bba13b2.png) In this example, assignment is valid, because bitwise XOR of all edge weights between every pair of leaves is $0$ . $f$ value is $2$ here, because there are $2$ distinct edge weights( $4$ and $5$ ).![](/uploads/acgo/image/620b64890b853511_87766a953d94.jpeg) In this example, assignment is invalid, because bitwise XOR of all edge weights between vertex $1$ and vertex $6$ ( $3, 4, 5, 4$ ) is not $0$ .

What are the minimum and the maximum possible values of $f$ for the given tree? Find and print both.

输入格式

The first line contains integer $n$ ( $3 \le n \le 10^{5}$ ) — the number of vertices in given tree.

The $i$ -th of the next $n-1$ lines contains two integers $a_{i}$ and $b_{i}$ ( $1 \le a_{i} \lt b_{i} \le n$ ) — it means there is an edge between $a_{i}$ and $b_{i}$ . It is guaranteed that given graph forms tree of $n$ vertices.

输出格式

Print two integers — the minimum and maximum possible value of $f$ can be made from valid assignment of given tree. Note that it's always possible to make an assignment under given constraints.

输入输出样例

输入 #1
6
1 3
2 3
3 4
4 5
5 6
输出 #1
1 4
输入 #2
6
1 3
2 3
3 4
4 5
4 6
输出 #2
3 3
输入 #3
7
1 2
2 7
3 4
4 7
5 6
6 7
输出 #3
1 6
C++ 编辑器
输入
输出