最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 问题 AD: L11-3 动态规划入门 - 练习4

    正文概述 网友投稿   2026-01-22 15:56:30  

    题目描述

    大聪明的变声豆上有一些按钮,每个按钮都有一个对应的数值。请你补全代码,计算有多少种方法能够刚好按下k个按钮,并且这k个按钮的数值总和是10的倍数。

    #include <iostream>
    using namespace std;
    int n, k, a[10], ans;
    //已经选了 m 个数
    //m 个数综合为sum
    //下一个数可以选择 a[startx]及后面的数
    void dfs(int m, int sum, int startx)
    {
        if (m == k)
        {
            if (sum % 10 == 0)
            {
                ans++;
            }
            return;
        }
        for (int i = startx; i <= n; i++)
        {
            //第 m + 1 个数选择 a[i]
            ——————————————
        }
    }
    int main()
    {
        cin >> n >> k;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        dfs(0, 0, 1);
        cout << ans;
        return 0;
    }

    输入

    共两行。 第一行两个用空格隔开的整数n和k(k<=n<10),分别表示按钮的数量,以及需要按下的按钮数量。 第二行n个空格隔开的整数,表示每个按钮对应的数值。

    输出

    输出一个整数,表示有多少种方法能够刚好按下k个按钮,并且这k个按钮的数值总和是10的倍数。

    样例输入

    5 2
    5 5 5 10 10

    样例输出

    4
    信息学奥赛网,一个优质的源码资源平台!
    信息学奥赛网 » 问题 AD: L11-3 动态规划入门 - 练习4