문제
https://www.acmicpc.net/problem/1010
1010번: 다리 놓기
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.
www.acmicpc.net
풀이
해당문제는 조합의 경우의 수를 구하면 바로 해결되는 문제이다.
위의 식을 고대로 구하면 답이 나온다. 단 팩토리얼은 DP로 미리 다 계산해둔다음 풀면 쉽게 풀 수 있다.
코드
d = [1] * 31
d[0] = 1
d[1] = 1
for i in range(2, 31):
d[i] = d[i-1] * i
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
print(d[m] // (d[n] * d[(m-n)]))
'백준' 카테고리의 다른 글
15863 - 감시 (0) | 2023.06.21 |
---|---|
3190 - 뱀 (0) | 2023.06.21 |
12865 - 평범한 배낭 (1) | 2023.06.19 |
12100 - 2048 (Easy) (0) | 2023.06.18 |
15685 - 드래곤 커브 (0) | 2023.06.18 |