#C1630. J14 例题-4 看书

J14 例题-4 看书

J14 例题-4 看书

题目描述

给你一本有 nn 个章节的书。

每一章都有一个指定的其他章节的清单,为了理解这一章,需要理解这些章节。要理解一章,你必须在理解了它所要求的清单上的每一章之后再读它。

目前,你还不了解任何一章的内容。你要从头到尾反复阅读这本书,直到你理解整本书。注意,如果你在不理解某些必读章节的时刻读了一章,你就不理解这一章。

确定你要读多少次书才能理解每一章,或者确定无论你读多少次书,你都不会理解每一章。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt

每个测试用例的第一行包含一个整数 nn - 章节的数量。

然后是 nn 行。第 ii 行开始有一个整数 kik_i (0kin10 \le k_i \le n-1)--理解第 ii 章所需的章节数。接着是整数 ai,1,ai,2,...,ai,kia_{i,1},a_{i,2},...,a_{i,ki}1ai,jn1\le ai,j \le n, ai,ji,ai,jai,la_{i,j} \ne i,a_{i,j} \ne a_{i,l} 如果 jlj≠l )--理解第 ii 章所需的章节。

输出格式

对于每个测试案例,如果可以理解整本书,就输出你要读多少次,否则就打印 “-1”。

样例输入

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

样例分析

在第一个例子中,我们将在第一次阅读时理解 2,4{2,4} 章,在第二次阅读该书时理解 1,3{1,3} 章。

在第二个例子中,每一章都需要理解其他一些章节,所以不可能理解这本书。

在第三个例子中,每一章都只需要书中较早出现的章节,所以我们可以一次性理解所有内容。

在第四个例子中,我们将在第一次阅读时理解 2,3,4{2,3,4} 章,在第二次阅读该书时理解第 11 章。

在第五个例子中,我们将在从 5511 的每一次阅读中理解一个章节。

数据范围 对于 100%100\% 的数据:1t2×1041 \le t \le 2\times 10^41n2×1051 \le n \le 2\times 10^5

保证所有测试案例的 nnkik_i的总和不超过 2×1052\times 10^5