問題一覧 > 通常問題

No.2987 Colorful University of Tree

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 8
作問者 : 👑 Nachia
4 ProblemId : 10788 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-12-12 22:05:43

問題文

国立こゃーそ大学では学祭の準備が進められています。

こゃーそ大学のキャンパスには NN 個の広場N1N-1 個の道路があります。 各道路はちょうど 22 つの広場をつないでいます。 N1N-1 個の道路によって、すべての広場は互いに行き来できるようになっています。 広場には 11 から NN の番号が、道路には 11 から N1N-1 の番号がついています。

広場 kk には CkC_k 個の道路が接続されていて、それらの番号は Ek,1,Ek,2,,Ek,CkE_{k,1},E_{k,2},\ldots ,E_{k,C_k} です。 また、広場 kk と道路 ee が接続されている場所にはゲート (k,e)(k,e) が設置されています。

学祭の飾りつけとして、各広場 kk広場の色 F(k)F(k)を割り当て、また各ゲート (k,e)(k,e)ゲートの色 F(k,e)F'(k,e) を割り当てます。 色の割り当ては以下の条件を満たすようにします。

  • 各道路の両端のゲートの色は相異なる。つまり、 aba\neq b ならば F(a,e)F(b,e)F'(a,e)\neq F'(b,e) を満たす。
  • 広場の色とその広場に設置されているゲートのゲートの色をペアにしたものは、キャンパス全体で重複がない。つまり、 (a,b)(c,d)(a,b)\neq (c,d) ならば (F(a),F(a,b))(F(c),F(c,d))(F(a),F'(a,b))\neq (F(c),F'(c,d)) を満たす。

最初に色の種類数 QQ を決め、広場の色ゲートの色はその QQ 色のうちから選ぶものとします。 広場とゲートで同じ色を使っても構いません。

色の種類数 QQ の最小値と、それを実現する色の割り当て方を計算してください。

11 回のプログラム実行で TT 個のケースを処理してください。

(22:05 追記) 各色は 11 以上 QQ 以下の整数で表してください。

制約

  • 1T100001\leq T\leq 10\, 000
  • 2N2000002\leq N\leq 200\, 000
  • 1Ei,jN11 \leq E_{i,j} \leq N-1
  • Ei,jEi,kE_{i,j} \neq E_{i,k} (1iN,1j<kCi)(1 \leq i \leq N , 1 \leq j \lt k \leq C_i) すなわち、 11 つの広場に同じ道路が 22 回以上つながっていることはない。
  • Ei,jE_{i,j} (1iN,1jCi)(1 \leq i \leq N, 1 \leq j \leq C_i) の値として、 1,2,,N11,2,\ldots ,N-1 がちょうど 22 回ずつ現れる。
  • すべての広場は互いに行き来できる。
  • 入力される値はすべて整数
  • 2T2\leq T のとき、 TT ケースにわたる NN の総和は 100000100\, 000 を超えない。

入力

まず最初に整数 TT が与えられます。 次に、ケースの入力が TT 個続けて与えられます。 11 つのケースの入力は次の形式で与えられます。

NN
C1C_1 E1,1E_{1,1} E1,2E_{1,2} \cdots E1,C1E_{1,C_1}
C2C_2 E2,1E_{2,1} E2,2E_{2,2} \cdots E2,C2E_{2,C_2}
\vdots
CNC_N EN,1E_{N,1} EN,2E_{N,2} \cdots EN,CNE_{N,C_N}

出力

各ケースに対して、 N+1N+1 行出力してください。

11 行目には、色の個数 QQ を出力してください。

k+1k+1 行目 (1kN1\leq k\leq N) には、広場の色 F(k)F(k) と、広場 kk に隣接するゲートの色 F(k,e)F'(k,e) を、道路の入力順に出力してください。 つまり、次の形式に従ってください。

QQ
F(1)F(1) F(1,E1,1)F'(1,E_{1,1}) F(1,E1,2)F'(1,E_{1,2}) \cdots F(1,E1,C1)F'(1,E_{1,C_1})
F(2)F(2) F(2,E2,1)F'(2,E_{2,1}) F(2,E2,2)F'(2,E_{2,2}) \cdots F(2,E2,C2)F'(2,E_{2,C_2})
\vdots
F(N)F(N) F(N,EN,1)F'(N,E_{N,1}) F(N,EN,2)F'(N,E_{N,2}) \cdots F(N,EN,CN)F'(N,E_{N,C_N})

最後に改行してください。

サンプル

サンプル1
入力
2
3
1 1
2 2 1
1 2
15
1 5
1 2
1 7
1 10
2 3 13
1 6
3 9 14 1
1 8
1 11
2 12 4
3 11 9 5
4 12 10 1 6
3 14 2 7
2 4 13
2 3 8
出力
2
2 1
1 1 2
2 2
6
3 3
2 3
4 2
2 4
1 4 2
5 4
6 5 2 6
5 2
5 3
3 1 2
2 5 6 2
1 6 1 5 3
3 5 4 6
4 6 1
6 1 3

入力データが表すキャンパスの図を示します。

これに対応して、出力例は次のような色の割り当てを表します。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。