아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

비트 포식자

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

요약
길이가 짝수인 회문을 골라 뒤 절반을 지우는 과정을 반복할 때, 먹는 비트 수를 최대로 하는 최종 문자열의 길이를 구한다.
난이도

보통10점 중 6점

유형
문자열, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

비트 포식자(Bitonis Appetitus)는 이진 문자열을 먹고 사는 희귀한 생물입니다. 이들의 주식은 짝수 길이 회문, 즉 길이가 짝수이면서 왼쪽에서 오른쪽으로 읽으나 오른쪽에서 왼쪽으로 읽으나 똑같은 연속 부분 문자열입니다.

포식자는 회문을 하나 고른 뒤 그 뒤쪽 절반만 먹어 치웁니다. 먹힌 자리는 사라지고 남아 있던 양옆 부분이 곧바로 이어 붙습니다. 예를 들어 문자열 010011에서 포식자가 회문 1001을 고르면, 뒤쪽 절반인 01만 먹으므로 문자열에는 0101이 남습니다.

포식자는 매우 영리해서 전체적으로 가장 많은 비트를 먹도록 회문을 고릅니다. 이 과정은 더 이상 먹을 짝수 길이 회문이 남지 않을 때까지 반복되며, 그 결과 남는 문자열의 길이는 최소가 됩니다.

주어진 이진 문자열에 대해, 포식자가 식사를 마친 뒤 남는 문자열의 길이를 구하는 프로그램을 작성하세요.

입력

첫째 줄에 문자열의 길이를 나타내는 정수 nn (1≤n≤1001 \le n \le 100)이 주어집니다.

둘째 줄에는 0과 1로 이루어진 길이 nn의 문자열이 주어집니다.

출력

포식자가 식사를 마친 뒤 이진 문자열에 남는 비트의 개수를 정수 하나로 출력합니다.

예제3

  1. 예제 1

    입력
    6
    100110
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4
    1001
    
    예상 출력
    2
    
  3. 예제 3

    입력
    4
    0101
    
    예상 출력
    4