#CF1572A. 阅读全书
阅读全书
阅读全书
- 时间限制:1.5 秒
- 内存限制:256 MiB
题目描述
一本书有 章。要理解第 章,必须先理解它所要求的全部其他章节。
最开始你不理解任何章节。你会反复从第 章到第 章阅读整本书。读到某一章时,如果它要求的所有章节都已经被理解,你就能理解这一章;否则这一次读到它时仍无法理解。
求至少需要从头到尾读多少遍才能理解全部章节。如果无论读多少遍都无法理解整本书,输出 。
输入格式
第一行包含一个整数 ,表示测试数据组数。
对于每组数据,第一行包含一个整数 。接下来 行描述各章的前置要求:第 行先给出整数 ,随后给出 个互不相同的章节编号 。这些编号均不等于 。
输出格式
对每组数据输出一行一个整数:若能理解整本书,输出所需的最少阅读遍数;否则输出 。
样例输入 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 | 24 | ,且每组数据均满足 |
| 2 | 36 | ,且每组数据均满足 |
| 3 | 40 | 无特殊限制 |