当前位置: 首页 > article >正文

《 小A点菜》

题目背景

uim 神犇拿到了 uoi 的 ra(镭牌)后,立刻拉着基友小 A 到了一家……餐馆,很低端的那种。

uim 指着墙上的价目表(太低级了没有菜单),说:“随便点”。

题目描述

不过 uim 由于买了一些书,口袋里只剩 MM 元 (M≤10000)(M≤10000)。

餐馆虽低端,但是菜品种类不少,有 NN 种 (N≤100)(N≤100),第 ii 种卖 aiai​ 元 (ai≤1000)(ai​≤1000)。由于是很低端的餐馆,所以每种菜只有一份。

小 A 奉行“不把钱吃光不罢休”的原则,所以他点单一定刚好把 uim 身上所有钱花完。他想知道有多少种点菜方法。

由于小 A 肚子太饿,所以最多只能等待 11 秒。

输入格式

第一行是两个数字,表示 NN 和 MM。

第二行起 NN 个正数 aiai​(可以有相同的数字,每个数字均在 10001000 以内)。

输出格式

一个正整数,表示点菜方案数,保证答案的范围在 int 之内。

输入输出样例

输入 #1复制

4 4
1 1 2 2

输出 #1复制

3

说明/提示

2020.8.29,增添一组 hack 数据 by @yummy

C语言代码实现:

#include <stdio.h>
#include <stdlib.h>

#define MAX_N 100
#define MAX_M 1000

int main(int argc, char *argv[]) {
    int n, m, i, j;
    scanf("%d %d", &n, &m);
    int a[MAX_N];
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    int dp[MAX_N + 1][MAX_M + 1];
    // 初始化 dp 数组
    for (i = 0; i  <= n; i++) {
        for (j = 0; j <= m; j++) {
            dp[i][j] = 0;
        }
    }
    dp[0][0] = 1;
    for (i = 1; i <= n; i++) {
        for (j = 0; j <= m; j++) {
            // 不选择当前菜品
            dp[i][j] += dp[i - 1][j];
            // 选择当前菜品,如果不超出预算
            if (j >= a[i - 1]) {
                dp[i][j] += dp[i - 1][j - a[i - 1]];
            }
        }
    }
    printf("%d", dp[n][m]);
    return 0;
}


http://www.kler.cn/a/471821.html

相关文章:

  • 数仓建模:如何判断一个数仓模型的好坏?
  • Wi-Fi Direct (P2P)原理及功能介绍
  • [笔记] Jenkins 安装与配置全攻略:Ubuntu 从零开始搭建持续集成环境
  • Vue2移动端(H5项目)项目封装switch组件支持动态设置开启关闭背景色、值及组件内显示文字描述、禁用、switch 的宽度
  • opencv CV_TM_SQDIFF未定义标识符
  • 深入理解 JavaScript 立即执行函数表达式(IIFE)
  • linux-27 发行版以及跟内核的关系
  • Word中所有的通配符使用方式[Word如何批量删除中文标点符号,英文标点符号,英文字母符号,数字符号,中文汉字符号]
  • homework 2025.01.07 math 6
  • 力扣904.水果成篮
  • 微信小程序广告变现收益低,从哪些方面优化广告策略?
  • 每日一题:链表中环的入口结点
  • CSS——15. 第一和最后子元素选择器
  • lec3-数的表示
  • LabVIEW无标题的模态VI窗口的白框怎么去除?
  • SQL从入门到实战
  • Mysql--基础篇--函数(字符串函数,日期函数,数值函数,聚合函数,自定义函数及与存储过程的区别等)
  • LeetCode热题100-相交链表【JavaScript讲解】
  • 解决高并发环境消息通知涉及问题
  • 李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide
  • 基于Qlearning强化学习的机器人迷宫路线搜索算法matlab仿真
  • MTK平台-- 无线AP隔离功能
  • FPGA设计:入行芯片领域的理想起点
  • C#中的关键字out和ref的区别
  • 低空管控技术-无人机云监视技术详解!
  • EntityFramework Core 数据种子