숫자 나사 최소 회전 칸수
면접 대비시간 제한1초메모리 제한128 MB
나사 하나를 왼쪽으로 돌리면 아래 나사들이 함께 돌아갈 때, 원하는 상태로 만들기 위한 최소 회전 횟수를 구한다.
문제
위아래로 이어진 숫자 나사가 개 있다. 가장 위가 숫자 나사 1이고 가장 아래가 숫자 나사 이다. 나사마다 면이 10개 있고, 각 면에는 오른쪽 방향으로 0, 1, 2, 3, …, 9가 순서대로 하나씩 적혀 있다.
나사 하나를 왼쪽으로 한 칸 돌리면 그 나사보다 아래에 있는 나사가 모두 함께 한 칸씩 돌아간다. 오른쪽으로 돌릴 때는 그 나사만 돌고 아래 나사는 따라 돌지 않는다. 왼쪽으로 한 칸 돌아간 나사의 숫자는 1 커지며 9 다음에는 0이 오고, 오른쪽으로 한 칸 돌아간 나사의 숫자는 1 작아지며 0 다음에는 9가 온다.
정면에서 위에서 아래로 숫자를 읽어 내려간 현재 상태와 원하는 상태가 주어진다. 현재 상태를 원하는 상태로 만드는 데 필요한 최소 회전 칸수를 구하는 프로그램을 작성하라. 어떻게 돌렸는지는 출력하지 않는다.
예를 들어 나사가 세 개이고 현재 상태가 326, 원하는 상태가 446이라면 최소 회전 칸수는 4이다. 나사 1을 왼쪽으로 한 칸 돌리면 437이 되고, 나사 2를 왼쪽으로 한 칸 돌리면 448이 되며, 나사 3을 오른쪽으로 두 칸 돌리면 446이 된다.

입력
첫째 줄에 숫자 나사의 개수 이 주어진다. 둘째 줄에 현재 상태가, 셋째 줄에 원하는 상태가 주어진다. 두 줄 모두 0부터 9까지의 숫자 개로 이루어진 문자열이며, 맨 앞이 0일 수도 있다. 은 3 이상 10,000 이하이다.
출력
첫째 줄에 현재 상태에서 원하는 상태로 만드는 데 필요한 최소 회전 칸수를 출력한다.