나 분명히 고등학교 때 수학 잘했는데 이항계수가 뭔지 기억이 안났다. 찾아보니 콤비네이션이였다.

그냥 콤비네이션 구하면 되는거였음.

근데 포인트는 시간제한이다.

보자마자 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

+ Recent posts