자유 인형
시간 제한1초메모리 제한512 MB
n개의 마트료시카 인형에 대해 두 가지 유효한 중첩 상태가 주어질 때, 한 상태를 다른 상태로 바꾸는 데 필요한 최소 이동 횟수를 구한다.
문제
마트료시카 한 세트는 크기가 커지는 순서대로 1번부터 번까지 번호를 붙인 나무 인형 개로 이루어진다. 인형은 자기보다 큰 인형 안에 바로 넣을 수 있고, 한 인형 안에 바로 들어가는 인형은 크기와 상관없이 최대 하나다.
인형 가 인형 안에 바로 들어 있으면 를 의 부모라고 한다. 부모가 없는 인형은 자유롭다고 한다. 모든 인형의 부모를 적으면 세트 전체의 배치가 정해진다.
다음 두 가지 동작을 할 수 있다.
- 자유로운 인형을, 자유롭고 속이 빈 더 큰 인형 안에 넣는다.
- 속이 비어 있지 않은 자유로운 인형을 열어서 바로 안에 들어 있는 인형을 꺼낸다.
처음 배치와 목표 배치가 주어진다. 처음 배치를 목표 배치로 바꾸는 최소 동작 횟수를 구하여라.
입력
첫째 줄에 인형의 개수 이 주어진다 ().
둘째 줄에 처음 배치를 나타내는 정수 개 이 주어진다 (). 는 인형 가 자유로우면 0이고, 그렇지 않으면 인형 의 부모다.
셋째 줄에 목표 배치를 같은 형식으로 나타내는 정수 개 이 주어진다 ().
두 배치는 모두 올바르다. 인형은 항상 자기 부모보다 작고, 부모가 같은 인형은 둘 이상 없다.
출력
최소 동작 횟수를 한 줄에 출력한다.