#P4298. [雅礼集训 2017] 猜数列

[雅礼集训 2017] 猜数列

题目描述

有一个长度为 mm 的,由 1199 之间的数构成的未知数列 ama_m

你现在有 nn 个线索,每个线索都是用如下方式生成的:

  • 选择序列 ama_m 的某一个位置 pp 作为开始;
  • 选择某个方向(向左或向右);
  • pp 出发往你选择的方向走,每遇到一个之前未出现的数就将它加到线索中。

(可以发现,每条线索的长度都不超过 99。)现在你需要求出满足所有线索的长度最小的序列的长度。

输入格式

第一行一个整数 nn,表示线索的数量。

接下来 nn 行,每行有若干个以 00 结尾的整数,表示一条线索。

输出格式

如果无解请输出 1-1,否则输出可能的最小长度。

5
1 2 0
3 4 0
1 4 3 0
3 1 4 2 0
1 2 4 3 0
7

一个可能的解为 {1,2,1,4,1,3,4}\{ 1, 2, 1, 4, 1, 3, 4 \},其中

  • {1,2}\{ 1, 2 \} 可由从第 33 个元素向左遍历得到;
  • {3,4}\{ 3, 4 \} 可由从第 66 个元素向右遍历得到;
  • {1,4,3}\{ 1, 4, 3 \} 可由从第 33 个元素向右遍历得到;
  • {3,1,4,2}\{ 3, 1, 4, 2 \} 可由从第 66 个元素向左遍历得到;
  • {1,2,4,3}\{ 1, 2, 4, 3 \} 可由从第 11 个元素向右遍历得到。
3
1 2 0
2 3 0
3 4 0
-1

提示

对于 20%20\% 的数据,答案不超过 1010

对于另外 40%40\% 的数据,保证存在一个解,使得所有线索都可以通过从某个位置向右遍历得到;

对于 100%100\% 的数据,1n101 \leq n \leq 10