문제
마니또는 '매우 가까운 친구, 친밀하다'의 뜻을 갖는 스페인어 'manito'에서 유래한 것으로, 마니또 게임은 상대가 모르게 몰래 도와주고 편지를 보내는 놀이의 일종이다.
정올 마을의 사는 N명의 주민들은 각자 본인이 평소 좋아하던 사람의 마니또가 되어주기로 결심하고, 정보올림피아드 2차대회가 있는 날 밤에 마니또에게 선물을 보냈다.
한 주민이 다른 주민에게 선물을 주고, 그 선물을 받은 주민이 또 다른 주민에게 선물을 주는 식으로 연속되어 결국 처음 주민에게 선물이 되돌아오는 경우 이 경로상에 해당하는 주민들을 행복한 주민 써클이라고 한다.
예를 들어, 주민 A가 주민 B에게 선물을 주고, 주민 B가 주민 C에게, 그리고 주민 C가 다시 주민 A에게 선물을 주는 상황이 이에 해당한다.
각 N명의 주민들의 마니또 상대가 주어졌을 때, 행복한 주민 써클이 몇 쌍 있는지 출력하시오.
입력
첫 번째 줄에 주민의 수 N이 입력된다. (
두 번째 줄부터 N줄에 걸쳐
출력
행복한 주민 써클이 몇 쌍 있는지 출력하시오.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 20점 | |
| #2 | 30점 | |
| #3 | 50점 | 추가 제한 없음 |
예제 #1
7
1 2
2 3
3 4
4 1
5 6
6 5
7 6
2
1->2->3->4->1
5->6->5
이렇게 한 쌍의 행복한 주민 써클이 있다.
예제 #2
7
3 4
5 7
7 4
1 2
2 4
4 7
6 2
1
4->7->4
이렇게 두 쌍의 행복한 주민 써클이 있다.