Illiteracy
면접 대비시간 제한5초메모리 제한512 MB
A~F로 이루어진 8칸 아이콘 배열에서 클릭이 전체 배열을 정해진 규칙으로 변형할 때 시작 배열을 목표 배열로 바꾸는 최소 클릭 횟수를 구하고 불가능하면 -1을 출력합니다.
문제
Illiteracy는 Le Sio가 만든 간단한 퍼즐 게임이다. 대회가 끝난 뒤에는 https://le-slo.itch.io/illiteracy에서 플레이할 수 있다. 게임은 여덟 개의 아이콘으로 이루어진 한 줄로 구성된다. 실제 아이콘은 매우 예술적이지만, 편의상 아이콘을 대문자 A부터 F로 표기한다. 어떤 아이콘을 클릭하든, 클릭한 아이콘의 종류와 그 아이콘이 줄에서 차지하는 위치에 따라 다른 아이콘들에 고유한 효과가 발생한다. 대부분의 아이콘은 다른 아이콘의 종류를 회전시킨다. 회전은 A를 B로, B를 C로, C를 D로, D를 E로, E를 F로, F를 다시 A로 바꾼다.
아이콘의 종류와 줄에서의 위치 x (1 ≤ x ≤ 8)에 따라 아이콘을 클릭했을 때 일어나는 일은 다음과 같다:
아이콘의 시작 배열과 목표 배열이 주어졌을 때, 시작 배열을 목표 배열로 바꾸는 데 필요한 최소 클릭 횟수는 얼마인가?
입력
입력은 정확히 두 줄로 이루어지며, 각 줄은 여덟 개의 문자로 구성된다. 첫 번째 줄은 시작 아이콘 배열이고, 두 번째 줄은 목표 배열이다. 각 줄의 각 문자는 여섯 개의 대문자 A, B, C, D, E, F 중 하나이다.
출력
시작 배열에서 목표 배열로 가는 데 필요한 최소 아이콘 클릭 횟수를 나타내는 정수 하나를 출력한다. 불가능하면 -1을 출력한다.
힌트
아래 예시에서는 위쪽 배열에서 아래쪽 배열로 가는 최소 클릭 순서 하나를 보여준다. 캐럿은 이전 줄에서 어느 아이콘을 클릭해 다음 줄의 배열이 만들어졌는지 가리킨다. 왼쪽 순서는 2번의 클릭이 필요하고, 오른쪽 순서는 4번의 클릭이 필요하다.
ABCDEFCD DCDAFCBA
^ ^
BCDDEFCD DCEAACBA
^ ^
BCEDEFCD DCEAACBC
^
DCEAACCC
^
ECEABCCC