#ATabc139e. [ABC139E] League

[ABC139E] League

AT_abc139_e [ABC139E] League

题目描述

NN 名选手参加网球比赛。我们将他们称为选手 11、选手 22\ldots、选手 NN

本次比赛为循环赛,总共会进行 N(N1)/2N(N-1)/2 场比赛。请判断是否能够在满足以下所有条件的情况下,安排这些比赛的赛程。如果可以,请求出所需的最少天数。

  • 每位选手一天最多只能进行一场比赛。
  • 每位选手 ii1iN1 \leq i \leq N)需要按照 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-1

样例 1

输入

3
2 3
1 3
1 2

输出

3

样例 2

输入

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

输出

4

样例 3

输入

3
2 3
3 1
1 2

输出

-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} 均互不相同。

样例解释 1

可以在 33 天内按如下方式安排所有比赛,满足所有条件。

  • 11 天:选手 11 对 选手 22
  • 22 天:选手 11 对 选手 33
  • 33 天:选手 22 对 选手 33 这就是所需的最少天数。

样例解释 2

可以在 44 天内按如下方式安排所有比赛,满足所有条件。

  • 11 天:选手 11 对 选手 22,选手 33 对 选手 44
  • 22 天:选手 11 对 选手 33
  • 33 天:选手 11 对 选手 44,选手 22 对 选手 33
  • 44 天:选手 22 对 选手 44 这就是所需的最少天数。

样例解释 3

无论如何安排比赛,都会违反某些条件。

由 ChatGPT 4.1 翻译