[백준] 1010: 다리 놓기 - 파이썬[python]

다인·2024년 10월 16일

백준

목록 보기
81/112
post-thumbnail

mCn으로 조합을 구하면 되는 문제이다. 팩토리얼을 부르는 게 오래 걸릴 거라고 생각해서 combinations의 길이를 구하는 걸로 했더니 시간 초과! 그래서 팩토리얼로 했더니 굉장히 빠르다. 처음 알았넹

코드

import sys
input = sys.stdin.readline

T = int(input())

def factorial(n):
    if n==0:
        return 1
    return n*factorial(n-1)

for _ in range(T):
    N, M = map(int, input().split())
    print(factorial(M) // (factorial(N)*factorial(M-N)))
  • 위 코드는 팩토리얼 함수를 직접 작성했다.
  • 그런데 파이썬의 math를 import하면 구현되어있는 팩토리얼을 사용할 수가 있다. 이걸 이용한 코드는 아래와 같다.
import sys
from math import factorial
input = sys.stdin.readline

T = int(input())

for _ in range(T):
    N, M = map(int, input().split())
    print(factorial(M) // (factorial(N)*factorial(M-N)))

결론

0개의 댓글