자물쇠
시간 제한2초메모리 제한128 MB
N개의 원형 다이얼로 이루어진 자물쇠에서 최대 세 개의 인접한 다이얼을 한 번에 1~3칸씩 돌리는 연산으로 현재 상태를 비밀번호로 바꾸는 최소 연산 횟수를 구하는 문제입니다.
문제
노트북은 자물쇠로 잠겨 있다. 이 자물쇠는 원형 디스크 개로 이루어져 있다. 각 디스크에는 0부터 9까지의 숫자가 하나 표시되어 있으며, 디스크가 원형이므로 0과 9는 서로 인접해 있다.
한 번의 조작에서는 비어 있지 않은 연속한 디스크를 최대 3개 고른다. 그리고 고른 모든 디스크를 같은 방향으로 같은 칸 수만큼 돌린다. 돌리는 칸 수는 1칸 이상 3칸 이하이고, 방향은 시계 방향 또는 반시계 방향 중 하나이다.
현재 자물쇠의 상태와 비밀번호가 주어질 때, 자물쇠를 열기 위해 필요한 조작 횟수의 최솟값을 구하라.
상태가 555이고 비밀번호가 464라면, 각 디스크를 따로 돌릴 경우 3번의 조작이 필요하다. 하지만 디스크 3개를 함께 반시계 방향으로 1칸 돌려 444로 만든 뒤, 두 번째 디스크를 시계 방향으로 2칸 돌리면 464가 되므로 2번이면 충분하다.
입력
첫째 줄에 비밀번호의 길이이자 자물쇠의 디스크 개수인 이 주어진다. 은 100 이하의 양의 정수이다.
둘째 줄에 현재 자물쇠의 상태가 주어지고, 셋째 줄에 비밀번호가 주어진다. 두 문자열의 길이는 모두 이며, 0부터 9까지의 숫자로만 이루어져 있다.
출력
자물쇠를 열기 위해 필요한 조작 횟수의 최솟값을 출력한다.