Codeforces Round 743 (Div. 1) |
---|
Закончено |
У вас есть книга, в которой $$$n$$$ глав.
В начале каждой главы перечислен список других глав, которые нужно понимать для понимания написанного в этой главе. Чтобы понять главу, нужно прочитать эту главу после того, как вы поняли все главы из данного списка.
Сейчас ни одна глава книги не понятна вам. Вы планируете читать книгу с начала до конца по кругу до тех пор, пока не поймете все главы. Обратите внимание, что если вы читаете некоторую главу, но еще не понимаете какие-то из необходимых для ее понимания глав, то вы не можете понять эту главу.
Определите, сколько раз вам нужно будет прочитать всю книгу, чтобы понять все главы, или определите, что есть главы, которые вы никогда не поймете, сколько бы раз вы не прочитали книгу.
Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 2\cdot10^4$$$) — количество наборов входных данных. Далее следуют наборы входных данных.
Первая строка набора входных данных содержит $$$n$$$ ($$$1 \le n \le 2\cdot10^5$$$) — количество глав.
Далее следуют $$$n$$$ строк. $$$i$$$-я из этих строк начинается с целого числа $$$k_i$$$ ($$$0 \le k_i \le n-1$$$) — количества глав, которые требуется понимать для понимания $$$i$$$-й главы. Далее следуют $$$k_i$$$ целых чисел $$$a_{i,1}, a_{i,2}, \dots, a_{i, k_i}$$$ ($$$1 \le a_{i, j} \le n, a_{i, j} \ne i, a_{i, j} \ne a_{i, l}$$$ для $$$j \ne l$$$) — главы, которые нужно понимать для понимания $$$i$$$-й главы.
Гарантируется, что сумма значений $$$n$$$ и сумма значений $$$k_i$$$ по всем наборам входных данных не превосходят $$$2\cdot10^5$$$.
Для каждого набора входных данных, если вы можете понять все главы, выведите, сколько раз вам нужно прочитать книгу целиком, иначе выведите $$$-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\}$$$, а со второго — главы $$$\{1, 3\}$$$.
Во втором примере для понимания любой главы нужно сначала понимать какую-то другую, поэтому невозможно понять всю книгу.
В третьем примере для понимания любой главы нужно понимать только более ранние, поэтому можно понять всю книгу за одно прочтение.
В четвертом примере вы поймете главы $$$\{2, 3, 4\}$$$ с первого прочтения, и главу $$$1$$$ со второго.
В пятом примере вы будем понимать главы по одной за прочтение, с $$$5$$$-й по $$$1$$$-ю.
Название |
---|