JOI 로고 디자인

시간 제한1초메모리 제한512 MB

요약
길이 4^K인 원형 문자열이 주어질 때, 회전을 골라 재귀적으로 정의된 레벨 K JOI 수열과 비교해 다른 문자의 최소 개수를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 분할 정복, 문자열, 완전 탐색
정답자
아직 제출이 없습니다

문제

K 이사장은 일본 정보 올림피아드 선수를 응원하는 굿즈의 로고를 만들기로 했다. 어느 날 K 이사장은 원 모양으로 'J', 'O', 'I' 문자를 늘어놓은 것을 로고로 삼기로 떠올렸다. 여기에는 JOI를 즐기길(enjoy) 바라는 마음이 담겨 있다.

다음과 같이 0 이상의 정수 kk에 대해 레벨 kk의 JOI 열을 정의한다.

  • 레벨 0의 JOI 열은 'J', 'O', 'I' 중 하나의 문자로 이루어진 길이 1의 문자열이다.
  • 레벨 k+1k+1의 JOI 열은 처음 4k4^k개 문자가 모두 'J', 다음 4k4^k개 문자가 모두 'O', 그다음 4k4^k개 문자가 모두 'I'이고, 마지막 4k4^k개 문자가 레벨 kk의 JOI 열인, 길이가 4k+14^{k+1}인 문자열이다.

이제 K 이사장은 4K4^K개의 문자가 원 모양으로 적힌 종이를 가지고 있다. 종이에 적힌 문자는 'J', 'O', 'I' 중 하나이다. K 이사장은 몇 개의 문자를 바꿔서, 종이에 적힌 문자를 어떤 문자를 시작점으로 시계 방향으로 한 바퀴 읽으면 레벨 KK의 JOI 열이 되도록 하려고 한다. 이때 바꾸는 문자의 수를 최대한 적게 하고 싶다.

종이에 원 모양으로 적힌 길이 4K4^K의 문자열이 주어질 때, 어떤 문자를 시작점으로 시계 방향으로 한 바퀴 읽으면 레벨 KK의 JOI 열이 되도록 하는 데 필요한 바꾸는 문자 수의 최솟값을 구하는 프로그램을 작성하시오.

입력

표준 입력에서 다음 데이터를 읽는다.

  • 1번째 줄에는 정수 KK가 적혀 있다. 4K4^K개의 문자가 종이에 원 모양으로 적혀 있음을 나타낸다.
  • 2번째 줄에는 'J', 'O', 'I'로 이루어진 길이 4K4^K의 문자열이 적혀 있다. 종이에 적힌 문자를 어떤 문자를 시작점으로 시계 방향으로 한 바퀴 읽으면 이 문자열이 됨을 나타낸다.

출력

K 이사장이 바꾸는 문자 수의 최솟값을 표준 출력에 한 줄로 출력하시오.

제한

  • 1≤K≤101 \le K \le 10.

예제2

  1. 예제 1

    입력
    1
    IJOI
    
    예상 출력
    0
    
  2. 예제 2

    입력
    2
    JJOIJJOJOIOJOOOI
    
    예상 출력
    7