제한된 선택지에서 선택하는 문제는 dp로 접근하자
import sys
input = sys.stdin.readline
dp = [[1 if j==0 else i if j==1 else 0 for i in range(2001)] for j in range(15)]
# j가 0일때 1이고 아니면 i인데 j가 1일때 i 고 아니면 0이다.
for i in range(2,15):
for j in range(1,2001):
dp[i][j] = dp[i-1][j//2] + dp[i][j-1]
for _ in range(int(input())):
n,m = map(int,input().split())
sys.stdout.write(str(dp[n][m]) +'\n')
'practivceAlgorithm > 다시 봐야할 문제들' 카테고리의 다른 글
[백준][Python] 1622 공통순열 (0) | 2021.10.06 |
---|---|
[백준][Python] 19939 박 터뜨리기 (0) | 2021.10.04 |
[Codefroce][Python] div.3 #731 - G. How Many Paths? (0) | 2021.10.03 |
[Codefroce][Python] div.3 #731 - F. Array Stabilization (GCD version) (0) | 2021.10.03 |
[백준][Python] 17144 미세먼지 안녕 (0) | 2021.10.02 |