File tree Expand file tree Collapse file tree 4 files changed +77
-0
lines changed
_WeeklyChallenges/W16-[DP] Expand file tree Collapse file tree 4 files changed +77
-0
lines changed Original file line number Diff line number Diff line change 1+ '''
2+ BOJ #1562. κ³λ¨μ (골λ 1)
3+ https://www.acmicpc.net/problem/1562
4+ μ ν: λΉνΈλ§μ€νΉ, DP
5+ '''
6+
7+ N = int (input ())
8+ MOD = 1_000_000_000
9+ BIT = 1 << 10
10+
11+ dp = [[[0 ] * BIT for _ in range (10 )] for _ in range (N )]
12+
13+ for j in range (1 , 10 ):
14+ dp [0 ][j ][1 << j ] = 1
15+
16+ for i in range (1 , N ):
17+ for j in range (10 ):
18+ for bit in range (BIT ):
19+ nxt_bit = bit | 1 << j
20+
21+ if 0 < j :
22+ dp [i ][j ][nxt_bit ] += dp [i - 1 ][j - 1 ][bit ]
23+
24+ if j < 9 :
25+ dp [i ][j ][nxt_bit ] += dp [i - 1 ][j + 1 ][bit ]
26+
27+ dp [i ][j ][nxt_bit ] %= MOD
28+
29+ cnt = 0
30+ for j in range (10 ):
31+ cnt += dp [N - 1 ][j ][BIT - 1 ]
32+ cnt %= MOD
33+
34+ print (cnt )
Original file line number Diff line number Diff line change 1+ ## π4μ 1μ£Όμ°¨ (4/07) μ€ν°λ λ°μ μ£Όμ : DP
2+ > λ°μ μ: κΉνμ£Ό
3+
4+ > μ£Όμ : DP
5+ ### ποΈ μ€ν°λ μλ£
6+ - PDF: [ λ°λ‘κ°κΈ°
7+ ] ( ./Study_BOJ_10844.pdf )
8+
9+ ### π λ¬Έμ
10+ - [ λ°±μ€ #10844 . μ¬μ΄κ³λ¨μ] ( https://www.acmicpc.net/problem/10844 ) : DP / μ€λ²1
11+ - μ λ΅ μ½λ: [ Study_BOJ_2293_10844_μ¬μ΄κ³λ¨μ.py] ( ./Study_BOJ_10844_μ¬μ΄κ³λ¨μ.py )
12+
13+
14+ ### π» κ³Όμ
15+ - [ λ°±μ€ #1562 . κ³λ¨μ] ( https://www.acmicpc.net/problem/1562 ) : λΉνΈλ§μ€νΉ,DP / 골λ 1
16+ - μ λ΅ μ½λ: [ Assignment_BOJ_1562_κ³λ¨μ.py] ( ./Assignment_BOJ_1562_κ³λ¨μ.py )
Original file line number Diff line number Diff line change 1+ '''
2+ BOJ #10844. μ¬μ΄ κ³λ¨μ (μ€λ²1)
3+ https://www.acmicpc.net/problem/10844
4+ μ ν: DP
5+ '''
6+
7+ n = int (input ())
8+
9+ Mod = 1000000000
10+ # 1. μ΄κΈ°ν
11+ # dp [μ΄ κΈΈμ΄ i ][λ§μ§λ§ μ리μκ° j] = μΈ κ°μ
12+ dp = [[0 ]* 10 for _ in range (n + 1 )]
13+ dp [1 ][0 ] = 0
14+ for j in range (1 ,10 ):
15+ dp [1 ][j ]= 1
16+
17+ # 2 μ νμ N>=2
18+ for i in range (2 ,n + 1 ):
19+ for j in range (10 ):
20+ if j == 0 :
21+ dp [i ][j ] = dp [i - 1 ][j + 1 ]
22+ elif j == 9 :
23+ dp [i ][j ] = dp [i - 1 ][j - 1 ]
24+ else :
25+ dp [i ][j ] = dp [i - 1 ][j - 1 ] + dp [i - 1 ][j + 1 ]
26+
27+ print (sum (dp [n ])% Mod )
You canβt perform that action at this time.
0 commit comments