题目描述
工具部计划开发一个代码质量检测工具,其中有一个待实现的功能是统计代码模块的直接双向依赖。直接双向依赖是指模块之间直接互相依赖的,不统计间接依赖、传递依赖导致的双向依赖。
解答要求
时间限制:C/C++1000ms,其他语言:2000ms
内存限制:C/C++256MB,其他语言:512MB
输入
(1)第1行只有一个数字,表示模块总数N,随后会按1到N顺序输入N行,表示1到N个模块的依赖数据。
(2)从第2行开始,每行的第1个数据表示依赖的模块数量(不会超过N),之后的数字表示当前模块依赖的模块ID序列。该序列会按从小到大顺序输入且不会出现重复的数字。模块ID的取值一定在[1,N]之内。(3)每行数据的数字之间的都有1个空格。(4)模块总数N取值范围1<=N<=2100。
输出
输出直接双向依赖的个数。
样例1
输入:
6
1 2
3 1 4 5
1 2
2 1 2
0
0
输出:2
解释:输入的第一行数据6,表示共有6个模块需要分析。随后连续输入代号为1到6的模块的依赖序列。模块1依赖模块2;模块2依赖模块1、4、5;模块3依赖模块2;模块4依赖模块1、2;模块5和6没有依赖任何模块;其中模块1和模块2存在直接双向依赖模块2和模块4存在直接双