1
+ package backjoon ;
2
+ // https://www.acmicpc.net/problem/1149
3
+
4
+ import java .io .BufferedReader ;
5
+ import java .io .IOException ;
6
+ import java .io .InputStreamReader ;
7
+ import java .util .StringTokenizer ;
8
+
9
+ public class _1149 {
10
+ final static int Red = 0 ;
11
+ final static int Green = 1 ;
12
+ final static int Blue = 2 ;
13
+
14
+ static int [][] Cost ;
15
+
16
+ public static void main (String [] args ) throws IOException {
17
+ // memory 12036 runtime 92
18
+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
19
+ int N = Integer .parseInt (br .readLine ());
20
+
21
+ Cost = new int [N ][3 ];
22
+
23
+ StringTokenizer st ;
24
+ for (int i = 0 ; i < N ; i ++) {
25
+
26
+ st = new StringTokenizer (br .readLine (), " " );
27
+
28
+ Cost [i ][Red ] = Integer .parseInt (st .nextToken ());
29
+ Cost [i ][Green ] = Integer .parseInt (st .nextToken ());
30
+ Cost [i ][Blue ] = Integer .parseInt (st .nextToken ());
31
+ }
32
+
33
+ // ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ์ค ์ต์๊ฐ์ ๋ํ๊ธฐ
34
+ for (int i = 1 ; i < N ; i ++) {
35
+ Cost [i ][Red ] += Math .min (Cost [i - 1 ][Green ], Cost [i - 1 ][Blue ]);
36
+ Cost [i ][Green ] += Math .min (Cost [i - 1 ][Red ], Cost [i - 1 ][Blue ]);
37
+ Cost [i ][Blue ] += Math .min (Cost [i - 1 ][Red ], Cost [i - 1 ][Green ]);
38
+ }
39
+
40
+ System .out .println (Math .min (Math .min (Cost [N - 1 ][Red ], Cost [N - 1 ][Green ]), Cost [N - 1 ][Blue ]));
41
+ }
42
+ }
43
+ /*
44
+ input
45
+ 3
46
+ 26 40 83
47
+ 49 60 57
48
+ 13 89 99
49
+
50
+ output
51
+ 96
52
+ */
0 commit comments