/ Vijos / 题库 /

传递消息

传递消息

时间限制:1秒  内存限制:256M


【题目描述】

  有一条神秘消息需要传递给所有人!这个消息网络是这样的:共又 \(N\) 个人,每个人都有自己的通讯簿,一旦得到消息就会迅速传递给通讯簿里的每个人。但是这种关系是单向的,即如果 \(u\) 在 \(v\) 的通讯簿中,那么 \(v\) 不一定在 \(u\) 的通讯簿中。现在,需要你帮助解决下面两个问题:
  1. 至少需要先把消息告诉几个人,可以使得所有人均能得知这条消息。
  2. 如果你每次可以在某人的通讯簿中添加一人,那么至少需要进行几次添加,就可以使得无论最先告诉哪个人,全部人都可以得知这条消息。

【输入格式】

  输入文件的第一行包括一个正整数 \(N\),表示人员数目,用数字 \(1\) 到 \(N\) 分别编号。
  接下来 \(N\) 行,每行都表示一个任的通讯簿,第 \(i+1\) 行为编号为 \(i\) 的人通讯簿中人的编号。每个通讯簿用 \(0\) 结束,空通讯簿只用一个 \(0\) 表示。

【输出格式】

  第一行为一个正整数,表示问题 \(1\) 的解。
  第二行为一个非负整数,表示问题 \(2\) 的解。

【输入输出样例1】

 Input

5
2 4 3 0
4 5 0
0
0
1 0

 Output

1
2

【测试点性质】

  对于50%的测试点,保证 \(1\le N\le 300\)。
  对于100%的测试点,保证 \(1\le N\le 10000\)。

【来源】

  Mr.he

信息

ID
3240
难度
9
分类
图结构 | 强连通分量拓扑排序 点击显示
标签
递交数
1
已通过
1
通过率
100%
被复制
2
上传者