만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쿼드트리 이미지 압축

면접 대비

시간 제한2초메모리 제한1024 MB

요약
0과 1로 된 L by L 영상을 균일한 블록만 남을 때까지 4등분하는 쿼드트리 부호화의 비트 수를 구합니다.
난이도

쉬움10점 중 3점

유형
분할 정복, 재귀, 행렬
정답자
아직 제출이 없습니다

문제

쿼드트리 방식으로 이미지를 압축했을 때 나오는 부호의 길이를 구한다. 이미지는 픽셀 L2L^2개로 이루어진 L×LL \times L 정사각형이고, 각 픽셀은 00 픽셀이거나 11 픽셀이다.

압축 방식은 다음과 같다.

  1. 이미지에 00 픽셀과 11 픽셀이 함께 있으면 11을 하나 기록하고, 2번 규칙에 따라 부분 이미지 44개로 나눈다. 한 종류의 픽셀만 있으면 전부 00일 때 0000을, 전부 11일 때 0101을 기록하고 멈춘다.
  2. 이미지 II를 아래 그림처럼 크기가 같은 부분 이미지 AA, BB, CC, DD로 나눈다. 그다음 AA, BB, CC, DD 순서로 각 부분 이미지에 1번 규칙을 적용한다.

부분 이미지 A, B, C, D의 위치를 보여주는 그림

부호에 들어간 비트 개수가 압축된 이미지의 길이다. LL은 22의 거듭제곱이고 1≤L≤641 \le L \le 64이다.

입력

첫째 줄에 정수 LL이 주어진다. 이어지는 LL개 줄에는 각 줄마다 비트 LL개가 주어지며, 이웃한 두 비트는 공백 하나로 구분된다. 각 비트는 00 또는 11이다.

출력

압축된 이미지의 길이, 즉 비트 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    4
    1 1 1 1
    1 1 0 1
    0 1 0 0
    0 0 1 1
    
    예상 출력
    30
    
  2. 예제 2

    입력
    8
    0 0 0 0 1 1 1 1
    0 0 0 0 1 1 1 1
    0 0 0 0 1 1 1 1
    0 0 0 0 1 1 1 1
    1 1 1 1 1 1 1 1
    1 1 1 1 1 1 1 1
    1 1 1 1 1 1 1 1
    1 1 1 1 1 1 1 1
    
    예상 출력
    9