프로그래밍

백준 4811 알약 - 파이썬 풀이 🦄

Rudi 2021. 3. 21. 16:07

백준 4811 알약 - 파이썬 풀이 🦄

문제

DP를 이용해서, 알약을 먹는 경우의 수를 찾는 문제.

Keypoints

  • 나열하는 경우으 수를 생각한다.
  • 2N개에서 중복으로 N개와 N개가 각각 있다.
  • WH보다 앞서는 경우의 수를 생각하면 N+1 개로 나눠주면 된다.

Solution

import math 

while True :
    n = int(input())
    if n==0:
        break 
    numerator = math.factorial(2*n)
    denominator = (n+1)* math.factorial(n)**2 
    print(numerator//denominator)

References

Problem Link