표 위의 편집 거리
시간 제한3초메모리 제한1024 MB
격자의 글자를 따라 이동하며 만들 수 있는 문자열 중 T와의 편집 거리가 가장 작은 값을 구합니다.
문제
표에는 개의 행과 개의 열이 있다. 각 칸에는 알파벳 소문자가 하나씩 적혀 있다.
다음 과정으로 문자열을 만든다.
- 칸 하나를 고르고, 그 칸의 글자 하나로 이루어진 길이 1의 문자열 를 만든다.
- 다음 중 하나를 고른다.
- 만들기를 멈춘다.
- 현재 칸과 변을 공유하는 네 칸 중 하나를 고른다. 그 칸의 글자를 의 뒤에 붙이고 그 칸으로 이동한다. 그 뒤에는 2번을 반복한다.
문자열 가 주어진다. 목표는 와 의 편집 거리를 최소화하는 것이다.
두 문자열 와 의 편집 거리는 를 로 바꾸는 데 필요한 연산 횟수의 최솟값이다. 사용할 수 있는 연산은 다음 세 가지다.
- 문자 하나를 다른 문자로 바꾼다.
- 문자 하나를 삽입한다.
- 문자 하나를 삭제한다.
입력
첫 줄에 와 가 주어진다. 이어지는 개의 줄은 표의 각 행을 나타낸다. 마지막 줄에 문자열 가 주어진다. 는 비어 있지 않으며 길이는 2000 이하이다. 표의 글자와 는 모두 알파벳 소문자로 이루어진다.
출력
와 의 편집 거리의 최솟값을 한 줄에 출력한다.