8.12京东笔试 谁能帮我看看第二题为啥一直是0%啊
不考虑n=1的情况,测试用例和自己手推例子验证都没问题,但一直0%
import sys
def func():
    n = int(sys.stdin.readline().strip())
    arr = list(map(int, sys.stdin.readline().strip().split()))
    dp = [[0]*10 for _ in range(n-1)]
    add = (arr[n-1] + arr[n-2]) % 10
    mut = (arr[n-1] * arr[n-2]) % 10
    dp[n-2][add], dp[n-2][mut] = 1, 1
    for i in range(n-3, -1, -1):
        num = arr[i]
        for j in range(10):
            add = (num + j) % 10
            mut = (num * j) % 10
            dp[i][add] += dp[i+1][j]
            dp[i][mut] += dp[i+1][j]
    for i in range(10):
        print(int(dp[0][i] % (1e9 + 7)), end=' ')
if __name__ == "__main__":
    func()
 查看30道真题和解析
查看30道真题和解析