나 분명히 고등학교 때 수학 잘했는데 이항계수가 뭔지 기억이 안났다. 찾아보니 콤비네이션이였다.
그냥 콤비네이션 구하면 되는거였음.
근데 포인트는 시간제한이다.
보자마자 dp로 풀면되겠다는 생각을했고 그런대로 잘 푼거 같다.
https://www.acmicpc.net/problem/11051
import sys
input = sys.stdin.readline
a,b = map(int,input().split())
dp=[[0 for _ in range(a+1)] for _ in range(a+1)]
for i in range(0,a+1):
for j in range(0,a+1):
if j==0:
dp[i][j]=1
elif j==i:
dp[i][j]=1
elif j==1:
dp[i][j]=i
elif a>=b:
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]
print(dp[a][b]%10007)
'취준 > 백준' 카테고리의 다른 글
1676 - 백준 (0) | 2022.05.11 |
---|---|
9375 - 파이썬 (0) | 2022.05.09 |
3036 - 파이썬 (0) | 2022.05.06 |
2981 - 파이썬 (0) | 2022.05.05 |
9184 - 파이썬 (0) | 2022.05.03 |