100 atcoder#ABC139E. [ABC139E] League

[ABC139E] League

配点 : 500500

問題文

NN 人の選手がテニスの大会に参加します。彼らを選手 11、選手 22\ldots、選手 NN と呼びます。

大会は総当たり戦で、合計 N(N1)/2N(N-1)/2 試合が行われます。 これらの試合の日程を、以下の条件をすべて満たすように決めることは可能でしょうか。可能である場合、必要な最小の日数も求めてください。

  • 各選手は一日に最大で一試合を行う。
  • 各選手 ii (1iN)(1 \leq i \leq N) は、選手 Ai,1,Ai,2,,Ai,N1A_{i, 1}, A_{i, 2}, \ldots, A_{i, N-1} とこの順に一度ずつ試合を行う。

制約

  • 3N10003 \leq N \leq 1000
  • 1Ai,jN1 \leq A_{i, j} \leq N
  • Ai,jiA_{i, j} \neq i
  • Ai,1,Ai,2,,Ai,N1A_{i, 1}, A_{i, 2}, \ldots, A_{i, N-1} はすべて異なる。

入力

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

NN

A1,1A_{1, 1} A1,2A_{1, 2} \ldots A1,N1A_{1, N-1}

A2,1A_{2, 1} A2,2A_{2, 2} \ldots A2,N1A_{2, N-1}

::

AN,1A_{N, 1} AN,2A_{N, 2} \ldots AN,N1A_{N, N-1}

出力

条件をすべて満たすように全試合の日程を決めることが可能なら必要な最小の日数を、不可能なら -1 を出力せよ。

3
2 3
1 3
1 2
3

33 日間で次のように試合を行えばすべての条件を満たせます。

  • 11 日目: 選手 11 対 選手 22
  • 22 日目: 選手 11 対 選手 33
  • 33 日目: 選手 22 対 選手 33

これが必要な最小日数です。

4
2 3 4
1 3 4
4 1 2
3 1 2
4

44 日間で次のように試合を行えばすべての条件を満たせます。

  • 11 日目: 選手 11 対 選手 22、選手 33 対 選手 44
  • 22 日目: 選手 11 対 選手 33
  • 33 日目: 選手 11 対 選手 44、選手 22 対 選手 33
  • 44 日目: 選手 22 対 選手 44

これが必要な最小日数です。

3
2 3
3 1
1 2
-1

どのような日程で試合を行っても何らかの条件に違反します。