우주 여행

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

요약
시공간 왜곡 값 t(i,j)의 차이를 간선 비용으로 삼아, (1,1)에서 (N,M)까지 정확히 L번 이동하는 경로의 총 비용을 최소화하는 경로를 구한다.
난이도

어려움10점 중 8점

유형
그리디, 수학, 동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

우주 비행사 헤르타는 우주여행을 떠나려고 한다. 우주는 N×MN \times M 격자로 표현되며, (r,c)(r, c)는 rr행 cc열에 해당하는 칸을 의미한다. 헤르타는 (1,1)(1, 1)에서 출발하여 정확히 LL번 이동하여 도착 지점인 (N,M)(N, M)으로 가고자 한다.

하지만 우주에는 거대 질량 천체가 있기 때문에 시공간의 왜곡이 발생한다. 거대 질량 천체는 우주에 총 KK개 존재하며 그중 kk번째 거대 질량 천체는 (r_k,c_k)(r\_k, c\_k)에 존재한다. 출발 지점과 도착 지점에는 거대 질량 천체가 존재하지 않으며, 한 칸에 둘 이상의 거대 질량 천체가 있는 경우는 없다. (1≤k≤K)(1 \le k \le K)

특정 칸 (i,j)(i, j)는 시공간 왜곡 t_ijt\_{ij}를 가진다. t_ijt\_{ij}는 다음과 같이 정의된다.

  • f(i,j,k)f(i, j, k)는 (i,j)(i, j)에서 kk번 천체까지의 맨해튼 거리이다. 즉, f(i,j,k)=∣i−r_k∣+∣j−c_k∣f(i, j, k) = \vert i - r\_k \vert + \vert j - c\_k \vert 이다.
  • t_ij=∑_k=1Kf(i,j,k)t\_{ij} = \sum\limits\_{k=1}^{K} f(i, j, k)

한 번 이동할 때마다 상, 하, 좌, 우로 인접한 칸으로만 이동할 수 있다. 즉, (i,j)(i, j)에서 (i−1,j)(i - 1, j), (i+1,j)(i + 1, j), (i,j−1)(i, j - 1), (i,j+1)(i, j + 1)으로만 이동할 수 있다. 격자를 벗어나는 위치로는 이동할 수 없다.

(a_1,b_1)(a\_1, b\_1)에서 (a_2,b_2)(a\_2, b\_2)로 이동할 때의 이동 소요 시간은 t_a_1b_1−t_a_2b_2t\_{a\_1b\_1} - t\_{a\_2b\_2}이다. 만약 소요 시간이 음수라면 ∣t_a_1b_1−t_a_2b_2∣\vert t\_{a\_1b\_1} - t\_{a\_2b\_2} \vert만큼 시간을 되돌아간다. 이동하려는 칸에 거대 질량 천체가 존재해도 아무런 지장 없이 이동할 수 있으며, 이미 지났던 칸으로 다시 이동할 수도 있다.

LL번 이동한 후 도착 지점에 있으며 이동 소요 시간의 총합이 최소인 경로를 구해보자.

입력

첫 번째 줄에 양의 정수 NN, MM, KK, LL가 공백으로 구분되어 주어진다.

두 번째 줄부터 KK개의 줄에 걸쳐 거대 질량 천체의 위치가 주어진다. 그중 kk번째 줄에는 kk번째 거대 질량 천체의 위치 (r_k,c_k)(r\_k, c\_k)가 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 이동 소요 시간의 총합이 최소인 경로를 나타내는 길이 LL의 문자열 SS를 출력한다. 문자열 SS는 문자 U, D, L, R 로 구성되며, 이는 각각 상, 하, 좌, 우를 의미한다.

만약 그러한 경로가 여러 가지라면 그중 아무거나 하나를 출력한다. 만약 그러한 경로가 존재하지 않는다면 -1을 출력한다.

제한

  • 2≤N,M≤2002 \le N, M \le 200
  • 1≤K≤NM−21 \le K \le NM - 2
  • 1≤L≤2 0001 \le L \le 2\ 000
  • 1≤r_k≤N1 \le r\_k \le N
  • 1≤c_k≤M1 \le c\_k \le M

예제2

  1. 예제 1

    입력
    3 4 2 5
    2 1
    3 3
    
    예상 출력
    DDRRR
    
  2. 예제 2

    입력
    5 4 3 6
    2 4
    3 2
    5 1
    
    예상 출력
    -1