만드는 중입니다

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

TV 게임

면접 대비

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

요약
공이 보드를 떨어지며 지나는 숫자의 합이 최대가 되는 시작 열과 그 경로를 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 행렬
정답자
아직 제출이 없습니다

문제

유명한 TV 게임에서 참가자는 세로로 세워진 직사각형 판 앞에 섭니다. 판은 NN개의 행과 MM개의 열로 되어 있습니다. 참가자는 열 하나를 고르고, 그 열에 공을 떨어뜨릴 수 있습니다. 공은 판 바닥에 닿을 때까지 칸을 차례로 지나며 아래로 떨어집니다. 내려가는 도중에 공은 칸의 기호에 따라 다른 열로 옮겨갈 수 있습니다.

  • '.': 공은 그대로 바로 아래로 떨어집니다. 공이 행 ii, 열 jj에 있고 그 칸이 '.'이면 행 i+1i+1, 열 jj로 갑니다.
  • 'L': 공은 왼쪽 아래로 떨어집니다. 행 ii, 열 jj의 칸이 'L'이면 행 i+1i+1, 열 j−1j-1로 갑니다.
  • 'R': 공은 오른쪽 아래로 떨어집니다. 행 ii, 열 jj의 칸이 'R'이면 행 i+1i+1, 열 j+1j+1로 갑니다.
  • 'X': 공은 이 칸에서 멈추고, 참가자가 다음에 갈 곳을 정합니다. 선택지는 세 가지입니다. 왼쪽 아래 칸, 바로 아래 칸, 오른쪽 아래 칸입니다.
  • 0부터 9까지의 숫자: 참가자는 숫자의 값만큼 천 레프를 이익에 더합니다. 그다음 아래 칸이 있으면 공은 그 칸으로 떨어집니다.

tvgame 프로그램을 작성하세요. 이 프로그램은 참가자가 모을 수 있는 최대 합을 구하고, 그 합에 도달하는 방법 하나를 보여줍니다.

입력

첫 줄에 두 정수 NN(행의 수)과 MM(열의 수)이 주어집니다. 이어지는 NN개의 줄에는 판을 나타내는 MM개의 문자가 각각 주어집니다.

출력

첫 줄에는 참가자가 모을 수 있는 최대 합을 천 레프 단위로 출력합니다.

둘째 줄에는 그 합을 얻기 위해 공을 떨어뜨릴 열의 번호를 출력합니다.

셋째 줄에는 공의 경로를 출력합니다. 칸에서 다음 칸으로 한 번 이동할 때마다, 왼쪽 아래 칸으로 가면 L, 바로 아래 칸으로 가면 D, 오른쪽 아래 칸으로 가면 R을 한 글자씩 출력합니다.

제한

0<N,M<10000 < N, M < 1000

행과 열의 번호는 1부터 시작합니다. 열 jj에 공을 떨어뜨리면 공은 먼저 행 1, 열 jj의 칸에 떨어집니다.

첫 번째 열, 마지막 열, 가장 아래 행의 모든 칸에는 숫자가 들어 있습니다.

예제1

  1. 예제 1

    입력
    4 5
    1L.20
    2.LX1
    4L4.5
    08123
    
    예상 출력
    10
    4
    DRD