보물 찾기
시간 제한1초메모리 제한256 MB
격자의 (1, 1)에서 출발해 문자열 S의 글자를 인접한 칸으로 따라갑니다. 가능한 최대 반복 횟수 K와 마지막 칸의 좌표를 구하고, 없으면 -1을 출력합니다.
문제
건구스는 세로 길이 N, 가로 길이 M인 보물지도를 하나 발견했다. 지도 뒷면에는 길이 L의 알파벳 문자열과 함께 "쓰여진 문자열을 K번 따라가면, 쓰여진 문자열의 끝 문자가 적힌 타일에 보물이 묻혀 있다"라는 메모가 적혀 있었다.
"노력은 배신하지 않는다"라는 말을 새기고 있던 건구스는 K의 값이 최대가 되는 곳에 보물이 묻혀 있다고 믿는다. 주어진 문자열대로 이동하며 건구스가 생각하는 보물의 위치를 알아보자. 건구스는 (1, 1)에 서 있고, 상하좌우로 인접한 타일로만 이동할 수 있다.
입력
첫 줄에 지도의 크기 N, M과 문자열 S의 길이 L이 공백으로 구분되어 주어진다. 가장 왼쪽 위의 좌표는 (1, 1)이고, 가장 오른쪽 아래의 좌표는 (N, M)이다.
둘째 줄에 메모에 적힌 문자열 S가 주어진다. S는 알파벳 대문자로 이루어져 있으며, 같은 문자가 S에 두 번 이상 나오지 않는다.
셋째 줄부터 N줄에 걸쳐 지도가 주어진다. 지도는 알파벳 대문자로 이루어져 있다. 건구스가 서 있는 타일에 적힌 글자는 S의 첫 글자와 같다.
출력
건구스가 보물의 좌표가 존재한다고 생각하면, 문자열을 따라간 횟수 K와 보물의 좌표를 출력한다.
건구스가 보물이 없다고 판단하거나 보물을 영원히 찾을 수 없으면 -1만 출력한다.
K가 최대인 값과 그에 해당하는 보물의 위치를 출력한다. K가 최대인 곳이 두 곳 이상인 경우는 없다.
제한
1 ≤ N, M ≤ 100
1 ≤ L ≤ 26