폰 (Pawns)

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

문제

"폰(Pawns)"은 길이가 $N$이고 너비가 $1$인 판 위에서 진행하는 게임이다. 판은 $N$개의 단위 칸으로 나뉘며, 왼쪽부터 오른쪽으로 $1, 2, \ldots, N$번으로 번호가 매겨져 있다. 각 칸은 매 순간 비어 있거나 폰 하나가 놓여 있다. 모든 폰은 흰색 또는 검은색이며, 각 폰의 처음 위치가 주어진다.

폰은 다음 규칙에 따라 움직인다.

  • 흰색 폰은 두 가지 방법으로 움직일 수 있다.
    • 바로 왼쪽 칸이 비어 있으면 그 칸으로 이동한다.
    • 바로 왼쪽 칸이 다른 폰으로 차 있고 그보다 한 칸 더 왼쪽 칸이 비어 있으면, 왼쪽 이웃을 뛰어넘어 두 칸 왼쪽으로 점프한다.
  • 검은색 폰은 두 가지 방법으로 움직일 수 있다.
    • 바로 오른쪽 칸이 비어 있으면 그 칸으로 이동한다.
    • 바로 오른쪽 칸이 다른 폰으로 차 있고 그보다 한 칸 더 오른쪽 칸이 비어 있으면, 오른쪽 이웃을 뛰어넘어 두 칸 오른쪽으로 점프한다.

폰은 움직인 뒤에도 항상 판 위에 있어야 한다. 어떤 폰이 움직일 수 있는 상황이라면 두 조건은 동시에 성립할 수 없으므로, 그 폰은 정확히 한 가지 방법으로만 움직일 수 있다.

모든 흰색 폰이 판의 앞쪽(가장 왼쪽) 칸들을 빈틈없이 채우고, 모든 검은색 폰이 판의 뒤쪽(가장 오른쪽) 칸들을 빈틈없이 채우면 게임이 완성된다. 즉, 흰색 폰은 $1, 2, \ldots$ 위치를 연속해서 차지하고, 검은색 폰은 $N, N-1, \ldots$ 위치를 연속해서 차지한다.

처음 위치가 주어질 때, 게임을 완성하는 데 필요한 최소 이동 횟수를 구하여라. 유한한 횟수 안에 게임을 완성할 수 있음이 보장된다.

입력

첫째 줄에 판의 길이 $N$이 주어진다. 둘째 줄에는 집합 ${0, 1, 2}$의 원소인 정수 $N$개가 공백으로 구분되어 주어진다. $0$은 빈 칸, $1$은 흰색 폰, $2$는 검은색 폰을 뜻한다. $i$번째 수는 판의 $i$번째 칸을 나타낸다.

출력

게임을 완성하는 데 필요한 최소 이동 횟수를 정수 하나로 출력한다.

제한

  • $2 \le N \le 13$;
  • 모든 테스트에는 흰색 폰이 적어도 하나, 검은색 폰이 적어도 하나 있다.

힌트

예제 입력의 판 2 0 0 2 1에 대해, 처음 배치와 $5$번의 이동을 각각 마친 뒤의 배치를 아래 그림으로 나타냈다.