import sys
input = sys.stdin.readline
from math import factorial
N,K = map(int,input().split())
print((factorial(N)//(factorial(K)*factorial(N-K)))%10007)
사실 모듈써서 푸는게 의도는 아닐것 같은데 귀찮아서 썼다..
본의도는 파스칼의 삼각형의 구현이었을 것 같아 관련코드도 가져왔다.
n, k = map(int, input().split())
dp = [[0] * 1 for i in range(1001)]
dp[1].append(1)
for i in range(2, 1001):
for j in range(1, i + 1):
if j == 1:
dp[i].append(1)
elif j == i:
dp[i].append(1)
else:
dp[i].append(dp[i - 1][j - 1] + dp[i - 1][j])
print(dp[n + 1][k + 1] % 10007)
원래 파스칼의 삼각형은 정삼각형 구조지만 dp모델은 직각삼각형 모델로 만든다.
대각 위와 왼쪽 삼각형의 값을 더하면 다음 라인 삼각형의 값이 되는 모델.
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 6064 카잉달력 : 최소공배수 컨트롤 (0) | 2021.07.28 |
---|---|
[백준][Python] 1655 가운데를 말해요 : 이중우선순위 큐로 end부분 중앙에 만들기. (0) | 2021.07.28 |
[백준][Python] 19699 소-난다! (0) | 2021.07.28 |
[백준][Python] 14425 문자열집합 (0) | 2021.07.28 |
[백준][Python] 6118 숨바꼭질 (0) | 2021.07.28 |