#CF1572A. 阅读全书

阅读全书

阅读全书

  • 时间限制:1.5 秒
  • 内存限制:256 MiB

题目描述

一本书有 nn 章。要理解第 ii 章,必须先理解它所要求的全部其他章节。

最开始你不理解任何章节。你会反复从第 11 章到第 nn 章阅读整本书。读到某一章时,如果它要求的所有章节都已经被理解,你就能理解这一章;否则这一次读到它时仍无法理解。

求至少需要从头到尾读多少遍才能理解全部章节。如果无论读多少遍都无法理解整本书,输出 −1-1。

输入格式

第一行包含一个整数 tt,表示测试数据组数。

对于每组数据,第一行包含一个整数 nn。接下来 nn 行描述各章的前置要求:第 ii 行先给出整数 kik_i,随后给出 kik_i 个互不相同的章节编号 ai,1,ai,2,…,ai,kia_{i,1},a_{i,2},\ldots,a_{i,k_i}。这些编号均不等于 ii。

输出格式

对每组数据输出一行一个整数:若能理解整本书,输出所需的最少阅读遍数;否则输出 −1-1。

样例输入 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

样例输出 1

2
-1
1
2
5

数据范围

  • 1≤t≤2×1041\le t\le 2\times 10^4;
  • 1≤n≤2×1051\le n\le 2\times 10^5;
  • 0≤ki≤n−10\le k_i\le n-1;
  • 1≤ai,j≤n1\le a_{i,j}\le n,ai,j≠ia_{i,j}\ne i,同一章的前置章节编号互不相同;
  • 所有测试数据中,∑n+∑ki≤2×105\sum n+\sum k_i\le 2\times 10^5。
子任务编号 分值 特殊限制
1 24 t≤3t\le 3,且每组数据均满足 n≤7n\le 7
2 36 t≤5t\le 5,且每组数据均满足 n≤200n\le 200
3 40 无特殊限制