白準-1010(Python)-架橋


白駿1010

橋を架ける



問題は,n個の要素を有する集合の中でk個の部分集合の組合せを選択する数の2項係数を用いて解いた.
前回リリース時にmathモジュールを使用したので、今回はモジュールを使用しないコードを使用しました...
def factorial(n):
    num = 1
    for i in range(1, n+1):
        num *= i
    return num


T = int(input())

for _ in range(T):
    n, m = map(int, input().split())
    bridge = factorial(m) // (factorial(n) * factorial(m - n))
    print(bridge)
mはnより大きいので、最大接続可能なブリッジ数はnである.
m個の領域にn個のブリッジを置くことができれば,数を求めることができる.
mcnで表現できますが、これはmです!乙(m-n)!n! 得点値