CS/알고리즘_문제풀이(자바)

이동하기

Jedy_Kim 2021. 11. 3. 11:37
728x90

https://www.acmicpc.net/problem/11048

 

11048번: 이동하기

준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는

www.acmicpc.net

 

// 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.*;
import java.io.*
 
 
public class Main { 
  
  // main
  public static void main(String[] args) throws Exception{
    
    // Please Enter Your Code Here
    BufferedWriter bw  = new BufferedWriter(new OutputStreamWriter(System.out));
    BufferedReader br  = new BufferedReader(new InputStreamReader(System.in)); 
    StringTokenizer st = new StringTokenizer(br.readLine());
    
    int N = Integer.parseInt(st.nextToken());
    int M = Integer.parseInt(st.nextToken());
    int[][] arr = new int[N][];
    for(int i=0; i<N; ++i) arr[i] = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
    
    // dp테이블을 채운다.
    int[][] dp = new int[N+1][M+1];
    // 각 위치에 최댓값을 넣어준다.
    for(int row=1; row<N+1++row) for(int col=1; col<M+1++col) dp[row][col] = arr[row-1][col-1+ Math.max( dp[row-1][col], dp[row][col-1] );
     
    bw.write(String.valueOf( dp[N][M] ));
    bw.flush();
    bw.close();
    br.close();
  } 
  
cs

 

반응형

'CS > 알고리즘_문제풀이(자바)' 카테고리의 다른 글

수 이어 쓰기 1  (0) 2021.11.08
점프  (0) 2021.11.03
DSLR  (0) 2021.11.02
숨바꼭질 4  (0) 2021.11.02
카잉달력  (0) 2021.11.01