알고리즘/baekjoon
baekjoon(1010-다리놓기)_ python
ash silver
2022. 5. 16. 16:42
1) 문제
2) 예시
3) 제출
import sys
import math
input = sys.stdin.readline
sen = ""
for i in range(int(input())):
n, m = map(int, input().split())
sen += str(math.comb(max(n, m), min(n, m))) + "\n"
print(sen)
4) 메모리/시간/코드길이
5) PLUS
겹치지 않게 한다는 말을
m에서 n개만큼 뽑아내고 n을 위에서부터 순서대로 이어주면 된다고 이해했다.
(문제에서 n<=m 조건을 이 블로그 쓰면서 보게됨,, 이러면 max, min을 쓸 필요가 없음,,)
그렇다면 mCn이 된다.
mCn을 하기 위해 노트를 펴고 생각을 해 봤지만 파이썬에서 조합 함수가 있을 것 같아서 찾아봤더니
import math만 해주면 math(m,n)으로 조합 수를 구할 수 있다는 것을 알게 되었다.
한 케이스마다 출력하면 시간이 더 걸릴 것 같아서
sen에 각 결과를 넣어서 케이스 입력이 모두 끝난 후 출력했다.