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()

全部评论
每次相加的时候就要取模?虽然我dp也只有3%😭
点赞 回复 分享
发布于 2023-08-12 21:50 北京
跟我一样的错误😭
点赞 回复 分享
发布于 2023-08-12 21:49 陕西

相关推荐

刷牛客的我很豁达:你是不是对算法有什么误解,你没手握两篇顶刊顶会,还想搞算法岗,有顶刊顶会在算法岗算才入门
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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