Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class a {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int n = in.nextInt();
- int m = in.nextInt();
- long field[][] = new long[n + 1][m + 1];
- long coin[][] = new long[n + 1][m + 1];
- for (int i = 0; i <= n; i++) {
- for (int j = 0; j <= m; j++) {
- coin[i][j] = Integer.MIN_VALUE;
- }
- }
- coin[1][0] = 0;
- coin[0][1] = 0;
- char rd[] = new char[m + n - 1];
- for (int i = 1; i <= n; i++) {
- for (int j = 1; j <= m; j++) {
- field[i][j] = in.nextInt();
- }
- }
- for (int i = 1; i <= n; i++) {
- for (int j = 1; j <= m; j++) {
- coin[i][j] = Math.max(coin[i - 1][j], coin[i][j - 1]) + field[i][j];
- }
- System.out.println(coin[n][m]);
- int a = n, b = m;
- for (int i = n + m - 2; i > 0; i--) {
- if (coin[a - 1][b] > coin[a][b - 1]) {
- rd[i] = 'D';
- a -= 1;
- } else {
- rd[i] = 'R';
- b -= 1;
- }
- }
- for (int i = 1; i < rd.length; i++) {
- System.out.print(rd[i]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement