#abc240e. [abc240_e]Ranges on Tree
[abc240_e]Ranges on Tree
問題文
頂点の根付き木が与えられます。頂点 が根です。
について、 番目の辺は頂点 と頂点 を結んでいます。
について、頂点 を根とする部分木に含まれる頂点全体からなる集合を で表します。(各頂点は自身を根とする部分木に含まれます。すなわち、 です。)
また、整数 について、 以上 以下の整数全体からなる集合を \[l, r\] で表します。 すなわち、$\[l, r\] = \\lbrace l, l+1, l+2, \\ldots, r \\rbrace$ です。
整数の つ組を 個並べた列 $\\big((L_1, R_1), (L_2, R_2), \\ldots, (L_N, R_N)\\big)$ であって以下の条件を満たすものを考えます。
- を満たすすべての整数 について、
- を満たすすべての整数の組 について次が成り立つ
- ならば、\[L_i, R_i\] \\subseteq \[L_j, R_j\]
- ならば、\[L_i, R_i\] \\cap \[L_j, R_j\] = \\emptyset
そのような $\\big((L_1, R_1), (L_2, R_2), \\ldots, (L_N, R_N)\\big)$ が少なくとも つ存在することが示せます。 それらのうち、登場する整数の最大値 $\\max \\lbrace L_1, L_2, \\ldots, L_N, R_1, R_2, \\ldots, R_N \\rbrace$ が最小のものを つ出力してください。(複数ある場合はどれを出力しても正解となります。)
制約
- 入力はすべて整数
- 与えられるグラフは木である
入力
入力は以下の形式で標準入力から与えられる。
出力
下記の形式で 行出力せよ。すなわち、 について、 行目に と を空白区切りで出力せよ。
入力例 1
3
2 1
3 1
出力例 1
1 2
2 2
1 1
$(L_1, R_1) = (1, 2), (L_2, R_2) = (2, 2), (L_3, R_3) = (1, 1)$ が問題文中の条件を満たします。
実際、$\[L_2, R_2\] \\subseteq \[L_1, R_1\], \[L_3, R_3\] \\subseteq \[L_1, R_1\], \[L_2, R_2\] \\cap \[L_3, R_3\] = \\emptyset$ が成り立ちます。
また、$\\max \\lbrace L_1, L_2, L_3, R_1, R_2, R_3 \\rbrace = 2$ であり、これが最小です。
入力例 2
5
3 4
5 4
1 2
1 4
出力例 2
1 3
3 3
2 2
1 2
1 1
入力例 3
5
4 5
3 2
5 2
3 1
出力例 3
1 1
1 1
1 1
1 1
1 1