728x90
처음에는 조합을 구해서 카운트 하려다가 예제의 마지막 케이스를 보고 안될 것 같다고 생각을 했다.
오랜만에 조합의 개수를 구하는 식을 떠올리려고 하니,, 전혀 기억 안남..
조합의 개수 구하는 식 (nCr)
: n(n-1)(n-2). . . .(n-r+1) / r!
어쨌든 조합 개수를 구하는 식을 구해서 처음에 제출했는데 맞았다.
다른 분 하시는 것을 보니까 !(팩토리얼) 값 구할 때 동적계획법을 이용 하셔서 활요해서 풀이했다.
T=int(input())
for _ in range(T):
W,E=map(int,input().split())
dp=[1 for _ in range(E+1)]
for i in range(1,E+1):
dp[i]=i*dp[i-1]
print((dp[E]//dp[E-W])//dp[W])
미리 dp 리스트를 만들어 놓고 하려니까 수행시간이 더 늦어진다..
왜지?,,
이유는 모르겠음
728x90
'Baekjoon Case' 카테고리의 다른 글
[파이썬 / 백준 1476번] 날짜 계산 (0) | 2021.10.16 |
---|---|
[파이썬 / 백준 1934번] 최소공배수(유클리드 호제법) (0) | 2021.10.15 |
[파이썬 / 백준 1005번] ACM CRAFT (0) | 2021.10.05 |
[파이썬 / 백준 12865번] 평범한 배낭 (0) | 2021.09.25 |
[파이썬 / 백준 11727번] 2xn 타일링 2 (0) | 2021.09.17 |