题目描述:
小蓝正在参与一个现场问答的节目。活动中一共有 3030 道题目, 每题只有答对和答错两种情况, 每答对一题得 1010 分,答错一题分数归零。
小蓝可以在任意时刻结束答题并获得目前分数对应的奖项,之后不能再答任何题目。最高奖项需要 100100 分, 所以到达 100100 分时小蓝会直接停止答题。请注意小蓝也可能在不到 100100 分时停止答题。
已知小蓝最终实际获得了 7070 分对应的奖项, 请问小蓝所有可能的答题情况有多少种?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
总通过次数: 818 | 总提交次数: 954 | 通过率: 85.7%
难度: 困难 标签: 2023, 省赛, 动态规划, DP
个人代码
#include <iostream>
using namespace std;
int ans = 0;//结果
void bs(int ci, int fen) {
if (fen == 70)
{
++ans;//符合70
}
if (fen == 100)
{
return;//分数满了直接退出比赛
}
if (ci == 30)
{
return;//次数满了直接退出比赛
}
bs(ci + 1,fen + 10);//作对的情况
bs(ci + 1, 0);//做错的情况
}
int main() {
bs(0, 0);//初始化,一道题也没答,一分也没得
cout<<ans;
return 0;
}
就是递归的思想,目前DP的方法我还没有掌握,等我完全理解了再发DP的方法解题,
这个暴力的方法甚至运行都要好多秒