题目背景

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

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

题目描述

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

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

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

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

输入格式

第一行是两个数字,表示 N 和 M。

第二行起 N 个正数 ai​(可以有相同的数字,每个数字均在 1000以内)。

输出格式

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

输入输出样例

输入 #1复制

4 4
1 1 2 2

输出 #1复制

3

就好像是一个旋转餐厅,每道菜从你面前经过,对于每一道菜你都可以选择吃或者不吃,如果吃了就当场给钱。

假如你面前已经过去了 i 道菜,你还剩 j 元,对于现在的你有两种情况,第一种是:你吃了第 i 道菜,那么在你面前过去 i-1 道菜的时候,你还剩 j+a[ i ] 元;第二种,你没吃第 i 道菜,在你面前过去 i-1 道菜的时候,你还剩 j 元。

建立一个二维数组,行表示过去了几道菜,列表示还剩多少钱,行列交点就是过去了 i 道菜,还剩 j 元时的点菜方法。对于第一道菜,不管吃不吃都是一种方法,单独拿出来。

m,n = map(int,input().split())
a = list(map(int,input().split()))
lst = [[0]*10000 for _ in range(n)]for i in range(n):for j in range(m,-1,-1):if i == 0:lst[i][m],lst[i][m-a[i]] = 1,1else:lst[i][j] = lst[i-1][j] + lst[i-1][j+a[i]]print(lst[n-1][0])

当全部的蔡都过去了,还剩0元就是答案

洛谷P1164 小A点菜相关推荐

  1. 【01背包求方案数模板】洛谷 P1164 小A点菜

    洛谷 P1164 小A点菜 https://www.luogu.org/problemnew/show/P1164 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆, ...

  2. 洛谷——P1164 小A点菜

    P1164 小A点菜 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点" ...

  3. (Java实现)洛谷 P1164 小A点菜

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点". 题目描述 不过ui ...

  4. 洛谷P1164小A点菜

    一.题目描述 https://www.luogu.com.cn/problem/P1164 背包问题 二.思想 这道题不难,本来用滚动数组做是不想发题解了,但是又想试试用二维数组就发现了好多问题.(所 ...

  5. 洛谷 P1164 小A点菜(01背包状态转移方程详细推导)

    题目链接 今天刷题,本来背包问题感觉稳稳的懒得刷了,随手做两个就被卡住了, 原来自己只会做死板的背包,这种稍微变形的就不会推状态转移方程了 我又去看了一眼滚动背包的转变方法 加上大佬的题解,才稍微明白 ...

  6. 动态规划——小A点菜(洛谷 P1164)

    题目选自洛谷P1164 这是一道简单的动规题,定义f[i][j]为用前i道菜用光j元钱的办法总数,其状态转移方程如下: (1)if(j==第i道菜的价格)f[i][j]=f[i-1][j]+1; (2 ...

  7. P1164 小A点菜 洛谷

    P1164 小A点菜 洛谷 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点&qu ...

  8. 洛谷 P4430 小猴打架

    洛谷 P4430 小猴打架 题目描述 一开始森林里面有N只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友.每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友.经过N-1次打 ...

  9. 2017提高组D1T1 洛谷P3951 小凯的疑惑

    洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...

最新文章

  1. 使用struts2+JQuery实现的简单的ajax例子
  2. Clion:undefined reference to `cv::noArray()解决方案
  3. C#与matlab混合编程
  4. 简单理解JSONP的定义及其实现
  5. linux ojvm补丁安装,打补丁PSU
  6. 还在用Swagger?我推荐这款零代码侵入的接口管理神器!
  7. 经典同步问题二——哲学家进餐问题
  8. mac远程连接linux 服务器桌面by VNC
  9. SDL_BlitSurface的参数是两个PNG时,如何保护其透明度
  10. java openfileoutput_java-openFileOutput在单例类中不能正常工作-想...
  11. 西铁城手表最外圈数字是什么_手表外圈数字是什么意思 有什么作用
  12. dex转java工具_安卓dex反编译工具(dex-translator)
  13. 【新征程】1、考研路漫漫
  14. Python学习手册之函数和模块
  15. java中int不兼容_mvn install命令时,一直报错:不兼容的类型 [ERROR] 找到: java.lang.Object [ERROR] 需要: int...
  16. 目标检测模型---SSD
  17. ajax的get json数据格式,jQuery / 用getJSON()方法加载JSON格式数据 - 汇智网
  18. 干货 | 使用京东云搭建视频直播网站
  19. AppleStore下载量查看
  20. 未雨绸缪:面试前为何要带一份不一定被阅的简历?

热门文章

  1. ddt 接口示范以及报告生成html案例
  2. HTML5期末大作业:中韩美食加盟网站设计——中韩美食加盟网站(22页) H关于食品的网页设计作页源码下载DW大学生网页大作业网页设计
  3. vba 创建txt文件 并且写入字符串
  4. P2P理财,晚节不保
  5. Hadoop07:SecondaryNameNode以及DataNode介绍
  6. 小米电视还原设置的方法步骤
  7. 蜻蜓低代码安全工具平台开发之路
  8. VUE3.X——父组件调用子组件方法
  9. Java中数组转集合总结
  10. 学习杂记十五:页面大小4KB,为什么是B不是b