题解 | 抽卡(python)

抽卡

https://www.nowcoder.com/practice/cddfb87d552c468d9176e95efffa7b3c

import sys

MOD = 10**9 + 7

def modinv(x):
    return pow(x, MOD-2, MOD)  # 快速幂

def solve():
    n = int(input())
    a = list(map(int, input().split()))
    b = list(map(int, input().split()))
    
    prod_a = 1
    prod_a_minus_b = 1
    
    for i in range(n):
        prod_a = prod_a * a[i] % MOD
        prod_a_minus_b = prod_a_minus_b * (a[i] - b[i]) % MOD
    
    num = (prod_a - prod_a_minus_b) % MOD
    den = prod_a
    
    ans = num * modinv(den) % MOD
    print(ans)

if __name__ == "__main__":
    solve()

全部评论

相关推荐

不知道怎么取名字_:现在找工作是真的太不容易了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务