

Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 点
問題文
木 の頂点を何色かで塗り分ける方法が 良い彩色 であるとは、同じ色で塗られたどの つの頂点 に対しても、 を を根とする根付き木として見た木と を根とする根付き木として見た木が同型であることを指します。
また、 の カラフルさ とは、 の良い彩色で使われる色の種類数の最小値を指します。
頂点の木が与えられます。頂点には から までの番号がついており、 本目の辺は頂点 と頂点 を結んでいます。 この木に以下の操作を何度か繰り返し施し、木 を作ります。
- 新たな頂点を つ作る。現在の木の頂点をひとつ選び、その頂点と新しく作った頂点を辺で結ぶ。
としてありうるもののカラフルさの最小値を求めてください。 さらに、その最小値を達成する木 の葉(次数 の頂点)の数の最小値を出力してください。
ノート
を を根とする根付き木として見た木と を根とする根付き木として見た木が同型であるとは、 の頂点集合からそれ自身への全単射な写像 であって、以下を満たすものが存在することを指します。
- どの 頂点の組 についても、 辺があることと 辺があることが同値である
制約
- 与えられるグラフは木である
入力
入力は以下の形式で標準入力から与えられる。
:
出力
整数 つを空白区切りで出力せよ。 まずはじめに、作ることのできる木 の中での、カラフルさの最小値を出力せよ。 その後、その時の木の葉の数の最小値を出力せよ。
なお、この問題の制約の下で、出力すべき値は ビット符号付き整数に収まることが示せる。
入力例 1Copy
5 1 2 2 3 3 4 3 5
出力例 1Copy
2 4
頂点 を用意し、頂点 と結んだとき、頂点 を赤で、頂点 を青で塗る彩色は良い彩色です。 色で全頂点を塗る彩色は良い彩色ではないので、作った木のカラフルさは となることが分かります。 この場合が最適であり、葉は つあるので、 と を出力します。
入力例 2Copy
8 1 2 2 3 4 3 5 4 6 7 6 8 3 6
出力例 2Copy
3 4
入力例 3Copy
10 1 2 2 3 3 4 4 5 5 6 6 7 3 8 5 9 3 10
出力例 3Copy
4 6
入力例 4Copy
13 5 6 6 4 2 8 4 7 8 9 3 2 10 4 11 10 2 4 13 10 1 8 12 1
出力例 4Copy
4 12
Score : points
Problem Statement
Coloring of the vertices of a tree is called a good coloring when, for every pair of two vertices and painted in the same color, picking as the root and picking as the root would result in isomorphic rooted trees.
Also, the colorfulness of is defined as the minimum possible number of different colors used in a good coloring of .
You are given a tree with vertices. The vertices are numbered through , and the -th edge connects Vertex and Vertex . We will construct a new tree by repeating the following operation on this tree some number of times:
- Add a new vertex to the tree by connecting it to one of the vertices in the current tree with an edge.
Find the minimum possible colorfulness of . Additionally, print the minimum number of leaves (vertices with degree ) in a tree that achieves the minimum colorfulness.
Notes
The phrase "picking as the root and picking as the root would result in isomorphic rooted trees" for a tree means that there exists a bijective function from the vertex set of to itself such that both of the following conditions are met:
- For every pair of two vertices , edge exists if and only if edge exists.
Constraints
- The given graph is a tree.
Input
Input is given from Standard Input in the following format:
Output
Print two integers with a space in between. First, print the minimum possible colorfulness of a tree that can be constructed. Second, print the minimum number of leaves in a tree that achieves it.
It can be shown that, under the constraints of this problem, the values that should be printed fit into -bit signed integers.
Sample Input 1Copy
5 1 2 2 3 3 4 3 5
Sample Output 1Copy
2 4
If we connect a new vertex to vertex , painting the vertices red and painting the vertices blue is a good coloring. Since painting all the vertices in a single color is not a good coloring, we can see that the colorfulness of this tree is . This is actually the optimal solution. There are four leaves, so we should print and .
Sample Input 2Copy
8 1 2 2 3 4 3 5 4 6 7 6 8 3 6
Sample Output 2Copy
3 4
Sample Input 3Copy
10 1 2 2 3 3 4 4 5 5 6 6 7 3 8 5 9 3 10
Sample Output 3Copy
4 6
Sample Input 4Copy
13 5 6 6 4 2 8 4 7 8 9 3 2 10 4 11 10 2 4 13 10 1 8 12 1
Sample Output 4Copy
4 12