#arc088d. [arc088_d]Christmas Tree
[arc088_d]Christmas Tree
题目描述
Takahashi 决定在 AtCoder 公司的圣诞派对上制作一个“圣诞树”。
圣诞树是一个有 个顶点和 条边的树,其中每条边 连接顶点 和 。
他想要按照以下方式制作:
- 指定两个非负整数 和 。
- 准备 条长度至多为 的“圣诞路径”。这里,长度为 的圣诞路径是一个图,具有 个顶点和 条边,如果我们适当地给顶点 到 编号,则第 条边 将连接顶点 和 。
- 重复以下操作,直到他有一棵连通的树为止:
- 选择属于不同连通分量的两个顶点 和 。将 和 合并成一个顶点。更具体地说,对于与顶点 相关的每条边 ,添加边 。然后,删除顶点 及与顶点 相关的所有边。
- 在树中适当地编号顶点。
Takahashi 希望找到字典序最小的一对 ,使得他可以制作一个圣诞树,也就是找到最小的 ,并在最小化 的条件下找到最小的 。
请解决这个问题。
约束条件
- 给定的图是一棵树。
输入
输入数据从标准输入读取。数据格式如下:
:
输出
对于字典序最小的 ,按照顺序以空格分隔打印 和 。
示例输入1
7
1 2
2 3
2 4
4 5
4 6
6 7
示例输出1
3 2
我们可以制作如下的圣诞树:
示例输入2
8
1 2
2 3
3 4
4 5
5 6
5 7
5 8
示例输出2
2 5
示例输入3
10
1 2
2 3
3 4
2 5
6 5
6 7
7 8
5 9
10 5
示例输出3
3 4