【競プロ典型90問】「052 - Dice Product(★3)」解法
Free-PhotosによるPixabayからの画像

このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。

問題

052 - Dice Product(★3)

ポイント

各サイコロの目の合計の総積が解答となります。

素直に合計を掛け算していくとオーバーフローとなるので割りながらかけて、最後にもう一回割ります。

コード

def main():
    import sys
    sys.setrecursionlimit(10 ** 9)
    input = sys.stdin.readline

    N = int(input())
    sums = []
    for _ in range(N):
        a = list(map(int, input().split(" ")))
        sums.append(sum(a))

    ans = 1
    for i in range(len(sums)):
        ans *= sums[i] % (10 ** 9 + 7)

    print(ans % (10 ** 9 + 7))


if __name__ == '__main__':
    main()

おすすめの記事