0分,求牢大调
  • 板块灌水区
  • 楼主ZhangXuKun
  • 当前回复0
  • 已保存回复2
  • 发布时间2024/5/25 12:55
  • 上次更新2024/5/25 15:12:53
查看原帖
0分,求牢大调
1325697
ZhangXuKun楼主2024/5/25 12:55

题目:P2012 拯救世界2

mod = 10**9 + 7

def factorial(n):
    if n == 0: return 1
    res = 1
    for i in range(1, n+1):
        res *= i
        res %= mod
    return res

def combination(n, k):
    return factorial(n) * factorial(k) % mod * pow(factorial(n - k), mod - 2, mod) % mod

while True:
    n = int(input())
    if n == 0: break
    ans = 0
    for x in range(1, n + 1, 2):
        for y in range(0, n - x + 1, 2):
            ans += combination(n, x) * combination(n - x, y)
            ans %= mod
    print(ans)

2024/5/25 12:55
加载中...