Mod-3 순열

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

정수 0,1,,n10, 1, \dots, n-1을 한 번씩 나열한 순열 p0,p1,,pn1p_0, p_1, \dots, p_{n-1}이 모든 인덱스 ii에서 pimod3=imod3p_i \bmod 3 = i \bmod 3을 만족하면, 이 순열을 mod-3 순열이라고 한다. 예를 들어 3, 1, 5, 0, 4, 2는 mod-3 순열이지만 1, 2, 0, 4, 5, 3은 mod-3 순열이 아니다.

순열이 하나 주어진다. 한 번의 연산에서 서로 다른 두 인덱스를 골라 그 두 위치의 값을 교환할 수 있다. 주어진 순열을 mod-3 순열로 바꾸는 데 필요한 최소 연산 횟수를 구하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 1T1000001 \le T \le 100000이다.

각 테스트 케이스는 두 줄이다. 첫째 줄에 정수 nn이 주어지고, 둘째 줄에 공백 하나로 구분된 nn개의 정수가 주어진다. 이 nn개의 정수는 0,1,,n10, 1, \dots, n-1의 순열이다. nn3n5013 \le n \le 501을 만족하며 항상 3의 배수다.

출력

각 테스트 케이스마다 Case #x: M 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, M은 주어진 순열을 mod-3 순열로 바꾸는 데 필요한 최소 교환 횟수다.