사과 수집
시간 제한1초메모리 제한512 MB
격자에서 (1,1)에서 (R,C)까지 가는 단조 경로를 사과 합계가 큰 순서, 합계가 같으면 이동 문자열이 사전순으로 작은 순서로 정렬했을 때 K번째 경로를 구한다.
문제
Santi는 개의 행(위에서 아래로)과 개의 열(왼쪽에서 오른쪽으로)로 이루어진 격자에서 게임을 한다. 번째 행과 번째 열의 칸을 라고 하자. 칸에는 개의 사과가 있다.
Santi의 캐릭터 Nano는 처음에 칸에 있으며 칸으로 이동하려고 한다. Nano는 매 턴마다 아래로 한 칸 또는 오른쪽으로 한 칸만 이동할 수 있고, 그렇게 해서 목표에 가까워진다. 목표까지 가는 Nano의 경로는 개의 문자로 이루어진 문자열로 나타낼 수 있으며, 그중 개는 ‘D’이고 개는 ‘R’이다. 번째 문자가 ‘D’이면 Nano는 번째 턴에 아래로 한 칸 이동하고, 번째 문자가 ‘R’이면 오른쪽으로 한 칸 이동한다는 뜻이다.
두 경로는 문자열 표현이 다르면 서로 다른 경로이다. 서로 다른 경로는 개 있다. 경로 가 경로 보다 좋다는 것은 다음 중 하나가 성립한다는 뜻이다.
- 경로 가 보다 사과를 많이 모은다. Nano가 경로에서 모으는 사과의 수는 칸과 칸을 포함하여 경로가 지나는 칸에 있는 사과의 총합이다.
- 경로 가 와 사과를 같은 개수만큼 모으고, 의 문자열 표현이 의 문자열 표현보다 사전순으로 앞선다.
가장 좋은 경로를 찾는 것은 Santi에게 너무 지루하기 때문에, 대신 번째로 좋은 경로를 찾으려고 한다. 다시 말해, 보다 좋은 경로가 개 있고 보다 나쁜 경로가 개인 경로 를 찾으려고 한다.
예를 들어 , , , , 이라고 하자. 그러면 목표까지 가는 서로 다른 경로가 세 개 있고, 좋은 순서대로 나열하면 다음과 같다.
- 문자열
RRD로 나타내는 경로. 이 경로는 사과를 개 모은다. - 문자열
DRR로 나타내는 경로. 이 경로는 사과를 개 모은다. - 문자열
RDR로 나타내는 경로. 이 경로는 사과를 개 모은다.
따라서 번째로 좋은 경로는 문자열 RDR로 나타내는 경로이다.
입력
첫 줄에 세 정수 가 주어진다. () 각각 행의 수, 열의 수, Santi가 찾으려는 경로의 순번이다. 다음 개의 줄에 각각 개의 정수가 주어지며, 각 칸에 있는 사과의 수를 나타낸다. 번째 줄의 번째 정수는 이다. ()
출력
목표까지 가는 번째로 좋은 경로를 나타내는 문자열을 한 줄에 출력한다.