ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
๋ฌธ์ ํ์ด
์ด ๋ฌธ์ ๋ ์์ ๊ทธ๋ฆผ์ ์ดํดํ๋ค๋ฉด ์ฝ๊ฒ ์ ํ์์ ์ธ์ธ ์ ์๋ค. ์ฒ์์ N์ด 1์ผ ๊ฒฝ์ฐ, ์ฌ์๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ์ ์ฌ์๊ฐ ์ผ์ชฝ์ ์กด์ฌํ ๊ฒฝ์ฐ, ์ฌ์๊ฐ ์ค๋ฅธ์ชฝ์ ์กด์ฌํ ๊ฒฝ์ฐ๊ฐ ๊ฐ 1๊ฐ์ฉ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
N์ด 2๊ฐ ๋๋ฉด ์ถ๊ฐ๋ ๊ณต๊ฐ์ ์ฌ์๊ฐ ์๊ฑฐ๋, ์ฌ์๊ฐ ์ผ์ชฝ์ ์๊ฑฐ๋, ์ฌ์๊ฐ ์ค๋ฅธ์ชฝ์ ์์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์์ผ ํ๋ค. ์๋ก์ด ๊ณต๊ฐ์ ์ฌ์๊ฐ ์์ ๊ฒฝ์ฐ ๊ฐ์ ๋ผ์ธ์ ์ฌ์๊ฐ ๊ฒน์น๊ฑฐ๋, ๋ชจ๋ ์์ด๋ ์๊ด ์์ผ๋ฏ๋ก ์ฌ์๊ฐ ์๋ ๊ฒฝ์ฐ, ์ผ์ชฝ์ ์๋ ๊ฒฝ์ฐ, ์ค๋ฅธ์ชฝ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ชจ๋ ๋ํ๋ค.
์ด์ ๋ฌ๋ฆฌ ์ฌ์๊ฐ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ ๊ฐ๊ธฐ ์ํด์๋ N - 1์ ์ฌ์๊ฐ ์๊ฑฐ๋, N - 1์ ์ฌ์๊ฐ ๋ค๋ฅธ ๋ผ์ธ์ ์์ด์ผ ํ๋ค. ์ด์ฒ๋ผ 1 ๋ถํฐ N์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์๋ก์ด ๊ณต๊ฐ์ ์ฌ์๊ฐ ์์ ๋, ์ผ์ชฝ์ ์์ ๋, ์ค๋ฅธ์ชฝ์ ์์ ๋๋ฅผ ๊ณ์ฐํ์ฌ ๊ฐ์ ๋์ ํด ๊ฐ๋ค๋ฉด N์ผ ๊ฒฝ์ฐ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ์ฐ ํ ์ ์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
NO, LEFT, RIGHT = 0, 1, 2
n = int(stdin.readline())
answer = [1, 1, 1]
for i in range(2, n + 1):
n_lion = answer[NO] + answer[LEFT] + answer[RIGHT]
l_lion = answer[NO] + answer[LEFT]
r_lion = answer[NO] + answer[RIGHT]
answer[NO], answer[LEFT], answer[RIGHT] \
= n_lion, l_lion, r_lion
print(sum(answer) % 9901)
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 9465 ์คํฐ์ปค (0) | 2020.07.03 |
---|---|
๋ฐฑ์ค: 2309 ์ผ๊ณฑ ๋์์ด (0) | 2020.07.03 |
๋ฐฑ์ค: 15988 1, 2, 3 ๋ํ๊ธฐ 3 (0) | 2020.07.02 |
๋ฐฑ์ค: 1699 ์ ๊ณฑ์์ ํฉ (0) | 2020.07.01 |
๋ฐฑ์ค: 1912 ์ฐ์ํฉ (0) | 2020.07.01 |