파일 업로드

루피 물고기

profile
실행 시간 제한메모리 제한
1 초128 MB
📃 해결할 문제

희영이는 N 마리의 물고기들(1 <= N <= 1000)을 키우고 있다. 각 물고기들은 초음파를 활용한 통신 방식으로, 서로 대화를 나눌 수 있다.

물고기 i 에 대해서 F(i) 값은 i 물고기가 메시지를 받았을 때, 어느 물고기에게 메시지를 전달할 것인지 알려준다. 이 값은 항상 자신과 다르며, F(i)가 0이라면 그 물고기는 메시지를 전달하지 않는다.

하지만, 물고기들은 특정한 물고기에서 시작된 메시지가 결국은 루프에 갇혀 영원히 순환하면서 전달될 수 없다는 가능성을 깨달았다. 해당 물고기에서 보낸 메시지가 루프에 갇히게 되면 그 물고기를 '루피 물고기' 라고 부르며, 물고기들은 이런 '루피 물고기'로부터 메시지를 보내는 것을 피하고 싶어한다. '루피 물고기' 가 아닌 물고기의 수는 얼마인가??

💻 입력
  • 첫 번째 줄 : 물고기의 수, N.
  • 두 번째 줄..1+N 번째 줄: i+1번째 줄에 F(i)의 값이 포함됩니다.
🖨️ 출력
  • 첫 번째 줄: '루피 물고기'가 아닌 물고기의 총 수.

💻 예제 입력 1
5
0
4
1
5
4
🖨️ 예제 출력 1
2

출처: USACO 2013 February Contest, Bronze Problem 1. Message Relay