{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"一些学校连接到了一个计算机网络。这些学校之间已经达成协议:每个学校维护一个接收软件的学校列表(“接收学校”)。请注意,如果B在学校A的分发列表中,那么A不一定会出现在学校B的列表中。\u003cbr\u003e你需要编写一个程序,计算必须接收新软件副本的最少学校数量,以便根据协议使软件到达网络中的所有学校(子任务A)。作为进一步的任务,我们希望确保通过向任意学校发送新软件副本,该软件将到达网络中的所有学校。为了实现这个目标,我们可能需要通过添加新成员来扩展接收者列表。计算必须进行的最小扩展次数,以便无论我们将新软件发送到哪个学校,它都将到达所有其他学校(子任务B)。一次扩展意味着将一个新成员引入到一个学校的接收者列表中。"}},{"title":"输入","value":{"format":"HTML","content":"第一行包含一个整数N:网络中学校的数量(2 \u003c\u003d N \u003c\u003d 100)。学校由前N个正整数标识。接下来的N行中,每行描述一个接收者列表。第i+1行包含学校i的接收者的标识符。每个列表以0结束。空列表在一行中只包含一个0。"}},{"title":"输出","value":{"format":"HTML","content":"你的程序应该向标准输出写入两行。第一行应包含一个正整数:子任务A的解决方案。第二行应包含子任务B的解决方案。"}},{"title":"示例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e5\r\n2 4 3 0\r\n4 5 0\r\n0\r\n0\r\n1 0\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e1\r\n2\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}