만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

기발한 실험

시간 제한3초메모리 제한1024 MB

요약
흰 칸과 빨간 칸으로 이루어진 격자와 k×k 상자의 이동 기록이 주어질 때, 쥐가 밟을 수 있는 최소 이동 횟수를 구합니다.
난이도

보통10점 중 6점

유형
시뮬레이션, BFS, 행렬
정답자
아직 제출이 없습니다

문제

과학자 마티야는 흰 쥐로 실험을 한다. 쥐는 바닥이 n×nn \times n 칸으로 나뉜 우리 안에 있다. 각 칸은 흰색 또는 빨간색이다. 행은 위에서 아래로 1부터 nn까지, 열은 왼쪽에서 오른쪽으로 1부터 nn까지 번호가 매겨진다.

쥐는 변을 공유하는 인접한 칸으로 이동할 수 있다. 하지만 쥐는 빨간 칸을 무서워해서 어떤 순간에도 빨간 칸에 들어가지 않는다.

쥐가 우리 안에서 한동안 지내며 어디로 움직일 수 있는지 익힌 뒤, 마티야는 한 변이 k×kk \times k 칸인 상자로 쥐를 덮었다. 상자의 변은 우리의 변과 평행하다. 어둠 속에서도 쥐는 여전히 흰 칸 위에서만 움직인다.

상자 안에서 쥐가 움직이는 모습은 밖에서 보이지 않는다. 밖에서 보이는 것은 상자의 움직임뿐이다. 쥐가 상자의 가장자리에 붙어 있다가 상자가 있는 방향으로 움직이면, 상자도 그 방향으로 한 칸 움직인다.

검은 원은 쥐, 어두운 영역은 상자를 나타낸다.

마티야는 상자의 초기 위치를 적었다. 상자가 움직일 때마다 왼쪽이면 'L', 오른쪽이면 'R', 위쪽이면 'U', 아래쪽이면 'D'를 적었다.

이 기록으로부터 쥐가 해야 했던 최소 걸음 수를 구하는 프로그램을 작성하시오.

입력

첫 줄에 자연수 nn과 kk가 주어진다 (2≤k≤102 \le k \le 10, k<n≤100k < n \le 100).

다음 nn개 줄에는 각각 nn개의 문자가 주어진다. 각 문자는 소문자 'b' 또는 소문자 'c'이다. 'b'는 흰 칸, 'c'는 빨간 칸을 나타낸다.

다음 줄에는 실험 시작 시점의 상자 왼쪽 위 모서리의 행 rr과 열 ss가 주어진다 (1≤r,s≤n−k+11 \le r, s \le n - k + 1).

다음 줄에는 상자의 이동 횟수 pp가 주어진다 (1≤p≤1 000 0001 \le p \le 1\,000\,000).

마지막 줄에는 길이가 pp인 문자열이 주어진다. 각 문자는 대문자 'L', 'R', 'U', 'D' 중 하나이며 상자가 움직인 방향을 나타낸다.

출력

쥐가 해야 했던 최소 걸음 수를 한 줄에 출력한다.

힌트

두 번째 예제에서 쥐는 (3,1)(3, 1) 칸에서 출발하여 위, 아래, 아래, 오른쪽, 오른쪽, 오른쪽, 위, 오른쪽, 위, 위 순서로 10걸음을 움직였을 수 있다.

세 번째 예제에서 쥐는 (4,1)(4, 1) 칸에서 출발하여 아래, 위, 위, 위, 오른쪽, 오른쪽, 아래, 오른쪽, 오른쪽, 왼쪽, 왼쪽, 위, 위, 아래, 아래, 오른쪽, 오른쪽, 오른쪽 순서로 18걸음을 움직였을 수 있다.

예제3

  1. 예제 1

    입력
    5 3
    bbbbb
    bcbcb
    bbbbb
    bcccb
    bbbbb
    3 3
    2
    LU
    
    예상 출력
    3
    
  2. 예제 2

    입력
    5 3
    bbbbb
    bbccb
    bccbb
    bbbbb
    bbbbb
    3 1
    4
    URRU
    
    예상 출력
    10
    
  3. 예제 3

    입력
    6 4
    bbbbbc
    bbbccc
    bcbbbb
    bccccb
    bbbbcb
    bbbbbb
    1 1
    4
    DRUR
    
    예상 출력
    18