BFF (Small)

각 아이가 자기 단짝 옆에 앉도록 원형으로 배치할 수 있는 최대 인원을 구한다.

보통5그래프완전 탐색백트래킹아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

당신은 새로 문을 연 Little Coders 유치원의 선생님이다. 반에는 아이 NN명이 있고, 각 아이의 학번은 11부터 NN까지 서로 다르다. 반의 모든 아이에게는 단 한 명의 가장 친한 친구(BFF)가 있으며, 당신은 아이마다 BFF가 누구인지 알고 있다. BFF 관계는 서로 대칭이 아닐 수 있다. 즉, B가 A의 BFF라고 해서 A가 B의 BFF인 것은 아니다.

내일 수업 계획에는 참가자가 원형으로 둘러앉아야 하는 활동이 있다. 활동을 최대한 성공적으로 만들기 위해, 원에 앉은 모든 아이가 자신의 BFF 바로 옆(왼쪽 또는 오른쪽)에 앉도록 하면서 가능한 한 큰 원을 만들려고 한다. 원에 들어가지 않은 아이는 활동에 참여하지 않고 구경한다.

원에 앉을 수 있는 아이는 최대 몇 명인가?

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어지며, 각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에는 반의 전체 아이 수 NN이 주어진다. 둘째 줄에는 정수 F1,F2,,FNF_1, F_2, \ldots, F_N이 주어진다. FiF_i는 학번이 ii인 아이의 BFF의 학번이다.

제한

  • 1T1001 \le T \le 100
  • 모든 ii에 대해 1FiN1 \le F_i \le N
  • 모든 ii에 대해 FiiF_i \ne i (자기 자신이 BFF인 아이는 없다.)
  • 3N103 \le N \le 10

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. xx는 테스트 케이스 번호(11부터 시작)이고, yy는 원에 앉은 모든 아이가 자신의 BFF 옆에 앉도록 원형으로 배치할 수 있는 아이 수의 최댓값이다.

힌트

예제의 4번 테스트 케이스에서 가장 큰 원은 아이들을 7 9 3 10 4 1 순서로 앉힌 것이다. (이 원을 뒤집거나 회전한 배치도 가능하다.) 이 목록은 원을 나타내므로, 학번 1인 아이는 조건대로 학번 7인 아이 옆에 앉는다.