CF1572A.Book

传统题 时间 2000 ms 内存 256 MiB 9 尝试 24 已通过 6 标签

Book

题目描述

有一本包含 nn 个章节的书。

每个章节都有一个指定的前置章节列表,要理解该章节,必须先理解这些前置章节。为了理解一个章节,你需要在理解其所需列表中的所有章节之后,再阅读它。

目前你还没有理解任何章节。你将从头到尾反复阅读这本书,直到你理解整本书为止。注意,如果在某一时刻阅读某个章节时,你尚未理解其所需的某些前置章节,那么你仍然不会理解该章节。

请确定为了理解所有章节,你需要将这本书读多少遍;或者确定无论读多少遍,你都无法理解所有章节。

输入

每个测试包含多个测试用例。第一行包含测试用例数 tt1t21041 \le t \le 2\cdot10^4)。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2\cdot10^5)—— 章节数。

接下来 nn 行,第 ii 行以整数 kik_i0kin10 \le k_i \le n-1)开头 —— 要理解第 ii 章所需的前置章节数量。然后跟着 kik_i 个整数 ai,1,ai,2,,ai,kia_{i,1}, a_{i,2}, \dots, a_{i, k_i}1ai,jn1 \le a_{i, j} \le nai,jia_{i, j} \ne i,且 jlj \ne lai,jai,la_{i, j} \ne a_{i, l})—— 理解第 ii 章所需的前置章节编号。

保证所有测试用例的 nn 之和以及所有 kik_i 之和均不超过 21052\cdot10^5

输出

对于每个测试用例,如果整本书能够被理解,则输出需要阅读的次数;否则输出 1-1

说明

  • 在第一个样例中,第一次阅读时我们会理解第 2244 章,第二次阅读时理解第 1133 章。
  • 在第二个样例中,每一章都需要理解另一章,因此无法理解整本书。
  • 在第三个样例中,每一章都只需要理解书中出现得更早的章节,因此我们可以一次阅读就理解所有内容。
  • 在第四个样例中,第一次阅读时会理解第 223344 章,第二次阅读时理解第 11 章。
  • 在第五个样例中,从第 55 章到第 11 章,每次阅读只会理解一章。

样例

5
4
1 2
0
2 1 4
1 2
5
1 5
1 1
1 2
1 3
1 4
5
0
0
2 1 2
1 2
2 2 1
4
2 2 3
0
0
2 3 2
5
1 2
1 3
1 4
1 5
0
2
-1
1
2
5

在线编程 IDE

建议全屏模式获得最佳体验