{"trustable":false,"sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"ptx\" lang\u003d\"zh-CN\"\u003e\n 一些学校连接到了一个计算机网络。网络中的学校间有如下约定:每个学校维护一个列表,当该学校收到软件或信息后将会转发给列表中的所有学校(也就是接收方列表)。需要注意的是如果B学校在A学校的接收方列表中,A学校\u003cstrong\u003e不一定\u003c/strong\u003e会出现在B学校的接收方列表中。\n \u003cbr\u003e你现在的任务是写出一个程序来计算必须收到一份软件来使网络中的所有学校都能收到软件的学校的数量的最小值(\u003cstrong\u003e此为子任务A\u003c/strong\u003e)。作为一个远期目标,我们希望给任意一个学校发送一份软件都能使网络中的所有学校都收到软件。为了实现这个目标,我们或许需要在一些学校的接收方列表中添加新项。 你现在需要计算出至少需要添加多少新项才能实现这个远期目标(\u003cstrong\u003e此为子任务B\u003c/strong\u003e)。 \n \u003cbr\u003e\n \u003c/div\u003e"}},{"title":"Input","value":{"format":"HTML","content":" \u003cdiv class\u003d\"ptx\" lang\u003d\"zh-CN\"\u003e\n 第一行是一个整数N:计算机网络中的学校数量(2\u003c\u003dN\u003c\u003d100)。接下来有N行数据,接下来的第 i 行描述了第 i 个学校的接收方列表。每行列表以0结尾。如果第 j 行中只有一个0代表第 j 个学校的接收方列表是\u003cstrong\u003e空的\u003c/strong\u003e。\n \u003c/div\u003e\n"}},{"title":"Output","value":{"format":"HTML","content":" \u003cdiv class\u003d\"ptx\" lang\u003d\"zh-CN\"\u003e\n 你的程序应该在标准输出中输出两行。每一行应为一个整数:第一行为子任务A的解,第二行为子任务B的解。\n \u003c/div\u003e\n"}},{"title":"Sample Input","value":{"format":"HTML","content":"\u003cpre class\u003d\"sio\"\u003e5\n2 4 3 0\n4 5 0\n0\n0\n1 0\n\u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"HTML","content":"\u003cpre class\u003d\"sio\"\u003e1\n2\n\u003c/pre\u003e\n"}},{"title":"Hint","value":{"format":"HTML","content":"[UNDEFINED]"}}]}