자매
시간 제한2초메모리 제한512 MB
각 여성의 어머니 번호가 주어질 때 같은 어머니를 둔 자매 쌍의 개수를 각 데이터셋에서 계산한다.
문제
여러분은 아마 자신의 형제자매가 누구인지 알고 있을 것이다. 보통 형제자매와 같은 환경에서 자라기 때문이다. 하지만 어릴 적 헤어졌다가 여러 해 뒤에 서로를 찾은 형제자매에 대한 이야기도 흔히 들을 수 있다. 만약 세상 모든 사람의 부모 정보가 전부 주어진다면 형제자매를 찾는 일은 훨씬 쉬울 것이다. 같은 부모를 공유하는 사람을 찾아내는 프로그램만 있으면 되기 때문이다. 이복 형제자매(두 부모 중 한 명만 공유)에는 모호한 점이 있으므로, 여기서는 여성만 다루기로 하고, 두 여성이 같은 어머니를 가지면 자매라고 정의한다. 각 여성에 대해 그 어머니가 누구인지가 주어진다. 목표는 자매인 쌍의 수를 세는 것이다.
입력
첫 줄은 입력 데이터 세트의 수 K이고, 그 뒤에 K개의 데이터 세트가 주어지며 각각은 다음과 같은 형식이다.
첫 줄은 데이터 세트에 있는 여성의 수 0 ≤ n ≤ 10, 000, 000이다. 그 뒤에 n개의 정수가 한 줄 이상에 걸쳐 주어진다. i번째 정수는 i의 어머니의 인덱스이며, 이는 i보다 작은 어떤 수 j이다. 어머니가 0번으로 주어지면 i의 어머니를 모른다는 뜻이고, 프로그램 입장에서는 i에게 어머니가 없다는 뜻이다.
출력
각 데이터 세트마다 "Data Set x:"를 한 줄에 단독으로 출력한다. 여기서 x는 데이터 세트의 번호이다. 그다음 줄에 그 데이터 세트의 자매 쌍의 수를 출력한다.
각 데이터 세트 뒤에는 빈 줄을 하나 출력한다.