흑건과 백건

면접 대비

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

요약
건반 색상과 손가락 짝별 이행 난이도 표를 이용해 단음 멜로디에 손가락을 배정하고 인접 음정 난이도 합이 최소가 되게 한다.
난이도

보통10점 중 6점

유형
동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

피아노 운지란 악구를 연주할 때 손가락을 피아노 건반에 배정하는 과정을 말한다. 전문 연주자들은 피아노 운지를 과학이라기보다 예술로 여기지만, 학생들은 연주하기 쉬운 운지를 자주 찾는다.

이 문제의 목표는 화음이 없는, 즉 한 번에 한 음만 연주하는 오른손 악구를 연주할 때 인체공학적 난이도를 최소로 하는 배정을 찾는 것이다.

표준 피아노 건반에는 흰건반 52개와 검은건반 36개가 있어 모두 88개이며, 1 . . . 88로 번호가 매겨진다. 이 건반들은 그림 3과 같이 교차해 있다. 따라서 이 번호 체계에서 2, 5, 7, 10, 12번 건반은 검은건반이고, 이 건반들에서 12의 배수만큼 떨어진 번호의 건반(예: 14, 17, 19, . . .)도 검은건반이다.

악구는 음의 나열이며, 각 음은 건반 하나에 대응한다. 악구의 난이도는 각 음정, 즉 악구에서 인접한 두 음의 쌍을 연주하는 난이도의 합이다. 따라서 길이 L인 악구는 L - 1개의 음정으로 이루어진다. 음정의 난이도는 다음 요소에 따라 달라진다.

  • 건반 사이의 거리. 이는 이른바 '반음' 단위로 센다. i번 건반에서 i + 1번으로, 또는 i번에서 i - 1번으로 이동하는 것이 반음 하나만큼 이동하는 것이다. 어떤 음정이 같은 건반을 연속으로 두 번 사용한다면(반음 0개), 다음 음을 이어서, 즉 레가토로 연주해야 할 수 있으므로 이 건반은 같은 손가락으로 연주해야 한다. 음이 반복되는 음정의 난이도는 0이다.
  • 낮은 건반과 높은 건반을 각각 어느 손가락으로 연주하는지. 낮은 건반은 번호가 더 작은 건반이다.
  • 낮은 건반과 높은 건반이 흰건반인지 검은건반인지.

뒤의 두 요소에 따른 난이도는 연주자마다 다를 수 있으므로, 음정의 낮은 건반과 높은 건반에 배정된 손가락 쌍을 인덱스로 하는 인체공학적 표를 사용한다. 오른손의 손가락은 1(엄지)부터 5(새끼손가락)까지 번호가 매겨진다. 낮은 건반과 높은 건반의 색 조합이 4가지(흰건반/흰건반, 흰건반/검은건반, 검은건반/흰건반, 검은건반/검은건반)이므로 전이 난이도를 기술하는 인체공학적 표도 4개다. 음정에서 낮은 건반과 높은 건반의 색에 따라 알맞은 표를 참고한다. 낮은 건반과 높은 건반에 같은 손가락을 배정한다면 상행 음정을 연주하는 난이도는 같은 음정을 하행으로 연주하는 난이도와 같다. 예를 들어 음정 (41, 43)을 손가락 (1, 3)으로 연주하는 것은 음정 (43, 41)을 손가락 (3, 1)로 연주하는 것과 난이도가 같다. 두 경우 모두 41번 건반에 손가락 1이, 43번 건반에 손가락 3이 놓이기 때문이다.

입력

입력은 단일 테스트 케이스로 이루어진다. 첫 줄에는 5개의 양의 정수 ww, wb, bw, bb (0 < ww, wb, bw, bb ≤ 20)와 L (1 ≤ L ≤ 10 000)이 주어진다. 이어서 흰건반/흰건반, 흰건반/검은건반, 검은건반/흰건반, 검은건반/검은건반 순서로 4개의 인체공학적 표가 연달아 주어지며, 각각 ww, wb, bw, bb개의 항목을 가진다. 각 표의 항목은 한 줄에 하나씩 다음 형식으로 주어진다. fl fu h1 h2 h3 . . . h12. hi (0 ≤ hi ≤ 10)는 음정의 낮은 건반을 손가락 fl로, 높은 건반을 손가락 fu로 연주할 때 반음 i개짜리 음정의 상대적 난이도이다. fl과 fu (1 ≤ fl, fu ≤ 5, fu ≠ fl)는 오른손의 손가락을 나타낸다.

입력의 마지막 줄에는 L개의 정수 ai (1 ≤ ai ≤ 88, 모든 i에 대해 |ai+1−ai| ≤ 12)가 주어지며, 이는 악구를 이루는 음의 나열이다. 적절한 운지 배정이 존재함이 보장된다.

Sample Input 1의 표는 Hart, Bosch, Tsai의 것이다.

출력

주어진 인체공학적 표의 항목만 사용하는 최적의 운지 배정으로 주어진 오른손 악구를 연주할 때의 최소 총 난이도를 하나의 수로 출력한다. 최적의 운지 배정은 어떤 손가락에서 시작하고 끝나도 된다.

예제1

  1. 예제 1

    입력
    11 11 11 10 10
    1 2 1 1 1 1 1 1 1 2 2 2 2 3
    1 3 1 1 1 1 1 1 1 1 1 2 2 3
    1 4 2 2 1 1 1 1 1 1 1 1 1 2
    1 5 3 3 2 2 1 1 1 1 1 1 1 1
    2 3 1 1 1 1 2 2 3 3 3 3 3 3
    2 4 2 2 1 1 1 1 2 3 3 3 3 3
    2 5 3 3 2 2 1 1 1 1 1 2 2 2
    3 1 2 2 3 3 4 4 4 4 4 4 4 4
    3 4 1 1 2 2 3 3 3 3 3 3 3 3
    3 5 3 3 1 1 1 1 3 3 3 3 3 3
    4 5 1 1 1 1 3 3 3 3 3 3 3 3
    1 2 1 1 1 1 1 1 1 1 2 2 3 0
    1 3 1 1 1 1 1 1 1 1 1 1 2 0
    1 4 2 2 2 1 1 1 1 1 1 1 1 0
    1 5 3 3 3 2 2 2 1 1 1 1 1 0
    2 3 1 1 1 2 2 3 3 3 3 3 3 0
    2 4 2 1 1 1 1 2 2 2 3 3 3 0
    2 5 3 2 2 2 2 1 1 1 2 2 3 0
    3 1 4 4 4 4 4 4 4 4 4 4 4 0
    3 4 1 1 1 3 3 3 3 3 3 3 3 0
    3 5 3 2 2 2 2 2 3 3 3 3 3 0
    4 5 2 2 2 2 3 3 3 3 3 3 3 0
    1 2 3 2 2 1 1 2 2 2 3 3 3 0
    1 3 3 2 2 1 1 1 2 2 2 2 3 0
    1 4 3 3 3 1 1 1 1 1 2 2 2 0
    1 5 3 3 3 2 2 2 1 1 1 1 1 0
    2 3 1 1 1 2 2 3 3 3 3 3 3 0
    2 4 2 1 1 1 1 2 3 3 3 3 3 0
    2 5 3 2 2 1 1 1 1 1 1 1 2 0
    3 1 2 3 3 4 4 4 4 4 4 4 4 0
    3 4 1 1 1 3 3 3 3 3 3 3 3 0
    3 5 2 1 1 1 1 1 2 2 3 3 3 0
    4 5 1 1 1 2 2 3 3 3 3 3 3 0
    1 2 0 2 2 2 2 0 3 3 3 3 0 3
    1 3 0 2 2 2 2 0 2 2 2 2 0 2
    1 4 0 3 2 2 2 0 2 1 1 1 0 2
    1 5 0 3 3 3 3 0 2 1 1 1 0 1
    2 3 0 1 1 1 2 0 3 3 3 3 0 3
    2 4 0 2 1 1 1 0 2 3 3 3 0 3
    2 5 0 3 2 2 1 0 1 1 1 2 0 2
    3 4 0 1 1 1 2 0 3 3 3 3 0 3
    3 5 0 3 1 1 2 0 3 3 3 3 0 3
    4 5 0 2 2 2 3 0 3 3 3 3 0 3
    33 34 39 42 38 41 39 42 46 51
    
    예상 출력
    10