#147. 消息中继

消息中继

题目描述

Farmer John 有 N1N1000N ( 1 \le N \le 1000 )头奶牛,标号为 1N1 \dots N 。奶牛们使用一种基于锡罐和细绳的老式交流机制,并且弄清楚如何在 Farmer John 注意不到的情况下进行彼此之间的交流。

每头奶牛将消息传递给至多一头其他奶牛:对于奶牛 ii FiF_i 表示奶牛 i 会将她接收到的消息传递给奶牛 FiF_iFiF_i 的值一定与 i 不同)。如果 FiF_i = 0 ,那么意味着奶牛 i 不会传递消息给其他奶牛。

不幸的是,奶牛们发现从某个特定奶牛传递出的消息有可能最终陷入循环,永远的在这一循环中进行消息传递。如果一头奶牛传递出的消息最终会陷入循环,那么这头奶牛被称作为循环奶牛。奶牛们想要避免消息从循环奶牛那传递出来。请帮助她们求出有多少头奶牛不是循环奶牛。

输入格式

第 1 行:奶牛数量 N 。

第 2 N+1行:第i+1行包含Fi\dots N + 1 行:第 i + 1 行包含 F_i

输出格式

第 1 行:一个整数,表示所有奶牛中不是循环奶牛的数量。

样例

输入样例

5
0
4
1
5
4                                     

输出样例

2                                     

样例解释

有 5 头奶牛。奶牛 1 不传递消息,奶牛 2 将消息传递给奶牛 4 ,其他奶牛以此类推。

奶牛 1 不是循环奶牛,因为她不会传递消息。奶牛 3 不是循环奶牛,因为她会将信息传递给奶牛 1 ,而接着奶牛 1 不会传递消息。其他所有奶牛都是循环奶牛。