ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
1149๋ฒ: RGB๊ฑฐ๋ฆฌ
์ฒซ์งธ ์ค์ ์ง์ ์ N(2 โค N โค 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ผ๋ก ์น ํ๋ ๋น์ฉ์ด 1๋ฒ ์ง๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ง์ ์น ํ๋ ๋น์ฉ์ 1,000๋ณด๋ค ์๊ฑฐ๋
www.acmicpc.net
๋ฌธ์ ํ์ด
๋ฉ๋ชจ์ด์ ์ด์ ์ ์ ํ์ฉํ๋ฉด, ์ด๋ ต์ง ์๊ฒ ํ ์ ์๋ค. ๋ํ ๊ฐ Nํ์ ํ๋์ ์ง์ ๋ํ๋ด๊ณ 1, 2, 3์ด์ R, G, B๋ก ์น ํ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ๋น์ฉ์ ์๋ฏธํ๋ค.

๊ธฐ๋ณธ ์์ ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์๋ค. ์ง 1(0๋ฒ ์ธ๋ฑ์ค)์ ์ฒซ ๋ฒ์งธ ์ง์ด๊ธฐ์ ๊ฐ์ ๋์ ์ํฌ ํ์๊ฐ ์๋ค. ๋ฐ๋ผ์ ์ง 2(1๋ฒ ์ธ๋ฑ์ค)๋ถํฐ๋ ํด๋น ์์์ ์ ํํ์์ ๋, ์ด์ ์ ์ง์์ ์ ํํ ์ ์๋ ์์์ ๊ฐ ์ค ์ต์๊ฐ์ ๋ํ๋ค. ์ด๋ฅผ ํตํด ์ง 2์ ํฉ์ฐํ ๊ฐ์ ๊ฐ์ 89, 86, 83๊ฐ ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ง 3์ ๊ฒฝ์ฐ๋ ์ด ๊ณผ์ ์ ๊ฑฐ์น๋ฉด 96, 172, 185๋ผ๋ ๊ฐ์ ์ป์ ์ ์๋ค. ๋ฐ๋ผ์ ํด๋น ์์์์๋ ์ง 1, 2, 3์ ๊ฐ๊ฐ ๋นจ๊ฐ, ํ๋, ๋นจ๊ฐ์ผ๋ก ์ ํํ์์ ๋ ์ต์๊ฐ์ผ๋ก ์น ํ ์์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
R, G, B = 0, 1, 2
n = int(stdin.readline())
prices = \
[list(map(int, stdin.readline().split())) for _ in range(n)]
for i in range(1, n):
prices[i][R] += min(prices[i - 1][G], prices[i - 1][B])
prices[i][G] += min(prices[i - 1][R], prices[i - 1][B])
prices[i][B] += min(prices[i - 1][R], prices[i - 1][G])
print(min(prices[-1]))
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 1748 ์ ์ด์ด ์ฐ๊ธฐ 1 (0) | 2020.07.10 |
---|---|
๋ฐฑ์ค: 13398 ์ฐ์ํฉ 2 (0) | 2020.07.09 |
๋ฐฑ์ค: 11054 ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด (0) | 2020.07.07 |
๋ฐฑ์ค: 11057 ์ค๋ฅด๋ง ์ (0) | 2020.07.06 |
๋ฐฑ์ค: 11722 ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด (0) | 2020.07.05 |