반응형


입력
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.
출력
각 테스트 케이스에 대해 주어진 조건하에 다리를 지을 수 있는 경우의 수를 출력한다.
예제 입력 1
3
2 2
1 5
13 29
예제 출력 1
1
5
67863915
이 문제를 잘 파악하면 조합 문제로 직결될 수 있다는 점이 있었다. 물론 처음부터 조합을 떠오르지 못하여 많이 헷갈렸다. 경우의 수를 나열하면서 너무 case를 쪼갰는데 이렇게 하다가 문제를 해결하기 어려울 것 같아서 참고하여 확인한 결과 조합 문제로 해결할 수 있었다.
import sys
import math
t = int(input())
result = []
for _ in range(t):
n,m = map(int, input().split())
comb=math.comb(m,n)
result.append(comb)
for i in range(t):
print(result[i],"\n")
참고로 DP의 형식으로 문제를 푸는 방법을 원했는데 제대로 구현을 하지 못하여서 참고하고자 한다.
https://kau-algorithm.tistory.com/780 (참고)
[백준/Python] 1010번 다리 놓기
https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N,
kau-algorithm.tistory.com
반응형
'알고리즘' 카테고리의 다른 글
| 백준 : 특정 거리의 도시 찾기 - 18352 (0) | 2025.10.01 |
|---|---|
| 백준 : 트리 - 1068 (0) | 2025.09.29 |
| 백준 : 유기농 배추 - 1012 (0) | 2025.09.27 |
| 백준 : 바이러스 - 2606 (0) | 2025.09.26 |
| [이코테] : DFS/BFS (미로 탈출) (3) | 2025.09.26 |