atcoder#ARC117D. [ARC117D] Miracle Tree

[ARC117D] Miracle Tree

配点: 600600

問題文

NN 頂点の木があり、頂点には 1,2,,N1, 2, \dots, N と番号が振られています。ii 番目 (1iN1)(1 \leq i \leq N-1) の辺は頂点 AiA_i と頂点 BiB_i を結んでいます。

木を見つけた E869120 君は、NN 個の頂点それぞれに整数を書き込み、square1001 君を驚かせようとしています。彼を驚かせるためには、頂点 ii に書かれた整数を EiE_i とするとき、次の条件を満たす必要があります。

条件1 Ei1E_i \geq 1 (1iN)(1 \leq i \leq N) を満たす。 条件2 すべての組 (i,j)(i, j) (1i<jN)(1 \leq i < j \leq N) について、EiEjdist(i,j)|E_i - E_j| \geq dist(i, j) を満たす。 条件3 条件 1・条件 2 を満たす中で、max(E1,E2,,EN)\max(E_1, E_2, \dots, E_N) の値が最小になる。

ただし、dist(i,j)dist(i, j) は次の値を指します。

  • 頂点 ii から jj への単純パス(同じ頂点を 22 度通らない経路)の長さ。
  • つまり、単純パスを q0q1q2qLq_0 \to q_1 \to q_2 \to \cdots \to q_Lq0=i,qL=jq_0 = i, q_L = j)とするときの LL の値。

square1001 君を驚かせるような整数の書き方を 11 つ構成してください。

制約

  • 2N2000002 \leq N \leq 200000
  • 1Ai<BiN1 \leq A_i < B_i \leq N
  • 与えられるグラフは木である
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられます。

NN

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

AN1A_{N-1} BN1B_{N-1}

出力

木に書き込む整数 E1,E2,,ENE_1, E_2, \cdots, E_N を順に、空白で区切って 11 行で出力してください。

問題文の条件を満たす整数の書き込み方が複数存在する場合は、どれを出力しても正解となります。

E1E_1 E2E_2 \cdots ENE_{N}

2
1 2
2 1

頂点 11 に整数 22 を、頂点 22 に整数 11 を書き込んだ場合、dist(1,2)=1dist(1, 2) = 1E1E2=1|E_1 - E_2| = 1 であるため、問題文中の条件 2 を満たします。

その他の条件もすべて満たすため、この書き込み方は square1001 君を驚かせることができます。

他にも、(E1,E2)=(1,2)(E_1, E_2) = (1, 2) は正解となります。

4
1 2
1 4
2 3
3 2 1 4

他にも、(E1,E2,E3,E4)=(2,3,4,1)(E_1, E_2, E_3, E_4) = (2, 3, 4, 1) は正解となります。