1 ๋ถ„ ์†Œ์š”

๋ฐฑ์ค€ ์‚ฌ์ดํŠธ ๋งํฌ

๋ฌธ์ œ

RGB๊ฑฐ๋ฆฌ์—๋Š” ์ง‘์ด N๊ฐœ ์žˆ๋‹ค. ๊ฑฐ๋ฆฌ๋Š” ์„ ๋ถ„์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ , 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ N๋ฒˆ ์ง‘์ด ์ˆœ์„œ๋Œ€๋กœ ์žˆ๋‹ค.

์ง‘์€ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ์ค‘ ํ•˜๋‚˜์˜ ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•ด๋ณด์ž.

  • 1๋ฒˆ ์ง‘์˜ ์ƒ‰์€ 2๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
  • N๋ฒˆ ์ง‘์˜ ์ƒ‰์€ N-1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
  • i(2 โ‰ค i โ‰ค N-1)๋ฒˆ ์ง‘์˜ ์ƒ‰์€ i-1๋ฒˆ, i+1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ง‘์˜ ์ˆ˜ N(2 โ‰ค N โ‰ค 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

3
26 40 83
49 60 57
13 89 99

์˜ˆ์ œ ์ถœ๋ ฅ 1

96

์˜ˆ์ œ ์ž…๋ ฅ 2

3
26 40 83
49 60 57
23 89 99

์˜ˆ์ œ ์ถœ๋ ฅ 2

96

์˜ˆ์ œ ์ž…๋ ฅ 3

3
1 100 100
100 100 100
1 100 100

์˜ˆ์ œ ์ถœ๋ ฅ 3

102

์˜ˆ์ œ ์ž…๋ ฅ 4

6
30 19 5
64 77 64
15 19 97
4 71 57
90 86 84
93 32 91

์˜ˆ์ œ ์ถœ๋ ฅ 4

208

์˜ˆ์ œ ์ž…๋ ฅ 5

8
71 39 44
32 83 55
51 37 63
89 29 100
83 58 11
65 13 15
47 25 29
60 66 19

์˜ˆ์ œ ์ถœ๋ ฅ 5

253

ํ’€์ด

๋จผ์ €, ์ฒซ ๋ฒˆ์งธ ์ง‘์„ ์น ํ•˜๋Š”๋ฐ ๋“œ๋Š” ๋น„์šฉ์„ rgb ๋ฆฌ์ŠคํŠธ์— ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค. ๋‘ ๋ฒˆ์งธ ์ง‘๋ถ€ํ„ฐ ๊ฐ ์ƒ‰๊น”๋ณ„๋กœ ์น ํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ตœ์†Œ ๋น„์šฉ์„ ๊ณ„์‚ฐํ•ด๋‚˜๊ฐ„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ ์ง‘์„ ๋นจ๊ฐ•์œผ๋กœ ์น ํ•  ๋•Œ, ์ด์ „ ์ง‘์„ ์ดˆ๋ก์œผ๋กœ ์น ํ•œ ๊ฒฝ์šฐ์™€ ํŒŒ๋ž‘์œผ๋กœ ์น ํ•œ ๊ฒฝ์šฐ ์ค‘์—์„œ ์ตœ์†Œ ๋น„์šฉ์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ์ด์ „ ์ง‘์„ ์น ํ•  ๋•Œ์˜ ์ตœ์†Œ ๋น„์šฉ์€ ์ด๋ฏธ rgb ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์ง‘์„ ์น ํ•  ๋•Œ ๋“œ๋Š” ๋น„์šฉ์„ ๊ณ„์‚ฐํ•œ๋‹ค. ๋ชจ๋“  ์ง‘์„ ์น ํ•  ๋•Œ์˜ ๋น„์šฉ์ด ์ €์žฅ๋œ ๊ฐ๊ฐ์˜ ๊ฒฝ์šฐ ์ค‘์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ฝ”๋“œ

ver(1)

import sys

# ์ž…๋ ฅ๊ฐ’ ๋ฐ›๊ธฐ
input_str = sys.stdin.readline
n = int(input_str())
rgb = []
for i in range(n):
    a, b, c = map(int, input_str().split())
    rgb.append([a, b, c])

# ๋‘ ๋ฒˆ์งธ ์ง‘๋ถ€ํ„ฐ ๊ฐ ์ƒ‰๊น”๋ณ„๋กœ ์น ํ•  ๋น„์šฉ ๊ณ„์‚ฐํ•˜๊ธฐ
for i in range(1, n):
    # ํ˜„์žฌ ์ง‘์„ ๋นจ๊ฐ•์œผ๋กœ ์น ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์†Œ ๋น„์šฉ
    rgb[i][0] += min(rgb[i-1][1], rgb[i-1][2])
    # ํ˜„์žฌ ์ง‘์„ ์ดˆ๋ก์œผ๋กœ ์น ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์†Œ ๋น„์šฉ
    rgb[i][1] += min(rgb[i-1][0], rgb[i-1][2])
    # ํ˜„์žฌ ์ง‘์„ ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์†Œ ๋น„์šฉ
    rgb[i][2] += min(rgb[i-1][1], rgb[i-1][0])

# ๋งˆ์ง€๋ง‰ ์ง‘์„ ์น ํ•˜๋Š” ๊ฐ๊ฐ์˜ ์ƒ‰๊น” ์ค‘์—์„œ ์ตœ์†Œ ๋น„์šฉ ์ถœ๋ ฅํ•˜๊ธฐ
print(min(rgb[n-1]))

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ