๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
-
S2 | DP
์ด๋ฐ๋ฌธ์ ๋ ์ญ์ ๋จ๊ณจ DP๋ฌธ์
์ผ๋จ ์์ผ๋ก ๊ตฌํด๋ดค๋ค.
i == 0, 2, 4, 6 ( ํ์ ์ผ ๊ฒฝ์ฐ๋ ์ ์ธํจ )
๊ฒฝ์ฐ์์ == 1, 3, 11, 41
์ ํ์
dp[i] = dp[i-2] * 3 + (dp[2] ~ dp[i-2]) * 2 + 2
i๊ฒฝ์ฐ์์ = ์ด์ ์ ๊ฒฝ์ฐ์ ์ * 3 + ์ด์ ์ ๊ฒฝ์ฐ์ ์ ๋ค * 2 + i๋ง ๋ง๋๋ ๊ฒฝ์ฐ
๐ป์์ค ์ฝ๋
N = int(input())
if N % 2:
print(0)
else:
dp = [0] * (N + 1)
dp[0], dp[2] = 1, 3
for i in range(4, N + 1, 2):
dp[i] = dp[i - 2] * 3 + 2
for j in range(2, i - 2, 2):
dp[i] += dp[j] * 2
print(dp[N])
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋ฐ์ํ
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐฑ์ค - 10819. ์ฐจ์ด๋ฅผ ์ต๋๋ก (0) | 2020.10.09 |
---|---|
[python] ๋ฐฑ์ค - 1541. ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2020.10.08 |
[python] ๋ฐฑ์ค - 11729. ํ๋ ธ์ด ํ ์ด๋ ์์ (0) | 2020.10.06 |
[python] ๋ฐฑ์ค - 1182. ๋ถ๋ถ์์ด์ ํฉ (0) | 2020.10.05 |
[python] ๋ฐฑ์ค - 11055. ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด (0) | 2020.10.04 |