蓝桥杯真题有奖问答

小蓝正在参与—个现场问答的节目。活动中一共有30道题目,每题只有答对和答错两种情况,每答对—题得10分,答错—题分数归零。小蓝可以在任意时刻结束答题并获得目前分数对应的奖项,之后不能再答任何题目。最高奖项需要100分,所以到达100分时小蓝会直接停止答题。请注意小蓝也可能在不到100分时停止答题。已知小蓝最终实际获得了70分对应的奖项,请问小蓝所有可能的答题情况有多少种?

本题是填空题,直接简单暴力dfs,本题要跑挺久的

ans = 0


def dfs(score, n):  # score表示当前得分、n表示当前答题数
    global ans
    if score == 70:  # 当得分为70情况就加1,但是还不能退出,后面可能还有70分的情况
        ans = ans + 1
    if n == 30 or score == 100:  # 答题数等于30或者得分为100就退出
        return

    dfs(score + 10, n + 1)  # 答对的情况,得分加10,答题数加1
    dfs(0, n + 1)  # 答错的情况,得分清零,答题数加1


dfs(0, 0)
print(ans)    # 8335366

上一篇:伸缩性


下一篇:dockerFile 基于centos:7将mysql、jdk打包成镜像,并引入jar包执行运行脚本-编写daockerFile文件