~๋ชฉ์ฐจ~
๋ฌธ์
https://www.acmicpc.net/problem/9655
๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ
- DP(๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ)
- ๊ธฐ๋ก์ ์ํ dp ๋ฐฐ์ด : 0์ SK, 1์ CY๋ฅผ ์๋ฏธ
- N์ด 1์ผ ๋ : SK
N์ด 2์ผ ๋ : SK -> CY
N์ด 3์ผ ๋ : SK ๋๋ SK -> CY -> SK ์ด๋ฏ๋ก ๊ฒฐ๋ก ์ ์ผ๋ก SK
N์ด 4์ผ ๋ : 1์ผ ๋ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ์ฌ๋ ๋๋ 3์ผ ๋ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ์ฌ๋, ๊ฒฐ๋ก ์ ์ผ๋ก CY
......
- ์ ํ์
N์ด 4์ด์์ผ ๋, ai = (ai-1 + 1) % 2 ๋๋ ai = (ai-3 + 1) % 2
์์ฑ ์ฝ๋
N = int(input())
dp = [0]*1001
# SK == 0, CY == 1
dp[1] = 0
dp[2] = 1
dp[3] = 0
for i in range(4, N+1):
dp[i] = (dp[i-1] + 1) % 2 # ๋๋ dp[i] = (dp[i-3] + 1) % 2
print('SK' if dp[N] == 0 else 'CY')
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐
'๐๋ฌธ์ ํ์ด > ๐งฉBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๋ฐฑ์ค 2961 ๋์์ด๊ฐ ๋ง๋ ๋ง์๋ ์์ (0) | 2023.08.04 |
---|---|
[Python] ๋ฐฑ์ค 1654 ๋์ ์๋ฅด๊ธฐ | ์ด์ง ํ์ | ์๊ฐ ์ด๊ณผ (0) | 2023.07.08 |
[Python] ๋ฐฑ์ค 2579 ๊ณ๋จ ์ค๋ฅด๊ธฐ | DP (2) | 2023.06.16 |
[Python] ๋ฐฑ์ค 1966 ํ๋ฆฐํฐ ํ (0) | 2023.06.11 |
[Python] ๋ฐฑ์ค 16953 A -> B | ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ | BFS (0) | 2023.06.09 |