BFF (Small)
시간 제한5초메모리 제한512 MB
각 아이가 자기 단짝 옆에 앉도록 원형으로 배치할 수 있는 최대 인원을 구한다.
문제
당신은 새로 문을 연 Little Coders 유치원의 선생님이다. 반에는 아이 명이 있고, 각 아이의 학번은 부터 까지 서로 다르다. 반의 모든 아이에게는 단 한 명의 가장 친한 친구(BFF)가 있으며, 당신은 아이마다 BFF가 누구인지 알고 있다. BFF 관계는 서로 대칭이 아닐 수 있다. 즉, B가 A의 BFF라고 해서 A가 B의 BFF인 것은 아니다.
내일 수업 계획에는 참가자가 원형으로 둘러앉아야 하는 활동이 있다. 활동을 최대한 성공적으로 만들기 위해, 원에 앉은 모든 아이가 자신의 BFF 바로 옆(왼쪽 또는 오른쪽)에 앉도록 하면서 가능한 한 큰 원을 만들려고 한다. 원에 들어가지 않은 아이는 활동에 참여하지 않고 구경한다.
원에 앉을 수 있는 아이는 최대 몇 명인가?
입력
첫째 줄에 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어지며, 각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에는 반의 전체 아이 수 이 주어진다. 둘째 줄에는 정수 이 주어진다. 는 학번이 인 아이의 BFF의 학번이다.
제한
- 모든 에 대해
- 모든 에 대해 (자기 자신이 BFF인 아이는 없다.)
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. 는 테스트 케이스 번호(부터 시작)이고, 는 원에 앉은 모든 아이가 자신의 BFF 옆에 앉도록 원형으로 배치할 수 있는 아이 수의 최댓값이다.
힌트
예제의 4번 테스트 케이스에서 가장 큰 원은 아이들을 7 9 3 10 4 1 순서로 앉힌 것이다. (이 원을 뒤집거나 회전한 배치도 가능하다.) 이 목록은 원을 나타내므로, 학번 1인 아이는 조건대로 학번 7인 아이 옆에 앉는다.