Skip to content

Commit 1e1cc04

Browse files
authored
Merge pull request #1057 from AlgorithmWithGod/zinnnn37
[20251006] BOJ / G5 / 내려가기 / 김민진
2 parents be0be34 + 6baff7b commit 1e1cc04

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
```java
2+
import java.io.*;
3+
import java.util.Arrays;
4+
import java.util.StringTokenizer;
5+
6+
public class BJ_2096_내려가기 {
7+
8+
private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
9+
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
10+
private static StringTokenizer st;
11+
12+
private static int N, minAns, maxAns;
13+
private static int[][] nums, min, max;
14+
15+
public static void main(String[] args) throws IOException {
16+
init();
17+
sol();
18+
}
19+
20+
private static void init() throws IOException {
21+
N = Integer.parseInt(br.readLine());
22+
23+
minAns = Integer.MAX_VALUE;
24+
maxAns = 0;
25+
26+
nums = new int[N][3];
27+
min = new int[N][3];
28+
max = new int[N][3];
29+
30+
for (int i = 0; i < N; i++) {
31+
st = new StringTokenizer(br.readLine());
32+
for (int j = 0; j < 3; j++) {
33+
nums[i][j] = Integer.parseInt(st.nextToken());
34+
}
35+
}
36+
37+
for (int i = 0; i < N; i++) {
38+
Arrays.fill(min[i], Integer.MAX_VALUE);
39+
}
40+
41+
for (int i = 0; i < 3; i++) {
42+
min[0][i] = nums[0][i];
43+
max[0][i] = nums[0][i];
44+
}
45+
46+
}
47+
48+
private static void sol() throws IOException {
49+
for (int i = 1; i < N; i++) {
50+
for (int j = 0; j < 3; j++) {
51+
for (int k = j - 1; k <= j + 1; k++) {
52+
if (k < 0 || k == 3) continue;
53+
54+
min[i][j] = Math.min(min[i][j], nums[i][j] + min[i - 1][k]);
55+
max[i][j] = Math.max(max[i][j], nums[i][j] + max[i - 1][k]);
56+
}
57+
}
58+
}
59+
60+
for (int i = 0; i < 3; i++) {
61+
minAns = Math.min(minAns, min[N - 1][i]);
62+
maxAns = Math.max(maxAns, max[N - 1][i]);
63+
}
64+
65+
bw.write(maxAns + " " + minAns);
66+
bw.flush();
67+
bw.close();
68+
br.close();
69+
}
70+
71+
}
72+
```

0 commit comments

Comments
 (0)