/ Vijos / 题库 /

传递消息

传递消息

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


【题目描述】

  小H 的猴子通常是按 1 到 \(N\) 进行编号的,猴子们相互之间有一种特殊的消息传输方式。在消息传递的过程中,每只猴子的消息最多传递到另一只猴子,对于猴子 \(i\),\(F_i\) 表示他要传递消息的那只猴子的编号,这里 \(i\) 和 \(F_i\) 肯定是不同的,如果 \(F_i\) 是 0,则表示猴子 \(i\) 没有要传递消息给其他的猴子。

  不幸的是,猴子们知道了这种传递消息的方式可能会导致一个死循环。如果一个猴子传递消息最终会导致一个死循环,那么我们就说这只猴子在死循环里面。

  请帮助猴子们计算有多少头猴子没有在死循环里面。

【输入格式】

  第一行一个正整数 \(N\),表示猴子的数量。
  接下来第 2 行到 \(N+1\) 行,每行一个非负整数,对于第 \(i+1\) 行上的数,表示猴子 \(i\) 要把消息传递过去的猴子的编号,如果是 0 则表示这头猴子不需要传递消息。

【输出格式】

  输出不在死循环里面的猴子的数量。

【输入输出样例】

 Input

5
0
4
1
5
4

 Output

2

【输出格式说明】

  样例中,猴子 1 不在死循环中因为他不传递消息,猴子 3 也不在死循环中是因为他传递消息给猴子 1。其他的猴子全部都在死循环中,所以样例的答案是 2。

【数据限制】

  对于 \(100\%\) 的数据,\(1N≤1000\)。

【来源】

  Mr.he

信息

ID
1924
难度
(无)
分类
模拟 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
6
上传者