该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

软件包安装

题目描述

Y 同学正在配置一个复杂的软件开发环境。环境中共有 NN 个软件包,编号从 11NN

这些软件包之间存在着依赖关系。对于软件包 ii,它可能依赖于 KiK_i 个其他软件包。这意味着,在安装软件包 ii 之前,必须先安装它所依赖的所有软件包。值得注意的是,这种依赖关系是递归的:被依赖的软件包本身可能还依赖于其他软件包。

Y 同学现在的目标是安装编号为 11 的软件包。为了达成这个目标,系统会自动解析并安装所有必要的依赖包。请你帮助 Y 同学计算,为了成功安装软件包 11,总共需要安装多少个不同的软件包(包括软件包 11 自身)?

题目保证给出的依赖关系不会构成环(即不存在循环依赖)。

输入格式

输入共 N+1N+1 行。

第一行包含一个正整数 NN,表示软件包的总数。

接下来 NN 行,第 ii 行(即输入数据的第 i+1i+1 行)描述了编号为 ii 的软件包的依赖情况: 每行首先包含一个整数 KiK_i,表示软件包 ii 依赖的软件包数量。 紧接着是 KiK_i 个整数,分别表示软件包 ii 所依赖的各个软件包的编号。

输出格式

输出一行一个整数,表示总共需要安装的软件包数量。

样例

样例输入 #1

5
1 2
1 3
1 4
0
0

样例输出 #1

4

数据范围与约定

对于 100%100\% 的数据,保证 1N50001 \le N \le 50000Ki<N0 \le K_i < N,且依赖关系构成一个有向无环图(DAG)。

子任务编号 分值 NN \le 特殊性质
1 20 1010
2 30 10001000
3 50 50005000

「果壳杯」 ROUND 40 (Div. 5)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-3-6 18:00
结束于
2026-3-13 18:00
持续时间
2 小时
主持人
参赛人数
25