洛谷P1164 小A点菜
题目背景
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点菜相关推荐
- 【01背包求方案数模板】洛谷 P1164 小A点菜
洛谷 P1164 小A点菜 https://www.luogu.org/problemnew/show/P1164 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆, ...
- 洛谷——P1164 小A点菜
P1164 小A点菜 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点" ...
- (Java实现)洛谷 P1164 小A点菜
题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点". 题目描述 不过ui ...
- 洛谷P1164小A点菜
一.题目描述 https://www.luogu.com.cn/problem/P1164 背包问题 二.思想 这道题不难,本来用滚动数组做是不想发题解了,但是又想试试用二维数组就发现了好多问题.(所 ...
- 洛谷 P1164 小A点菜(01背包状态转移方程详细推导)
题目链接 今天刷题,本来背包问题感觉稳稳的懒得刷了,随手做两个就被卡住了, 原来自己只会做死板的背包,这种稍微变形的就不会推状态转移方程了 我又去看了一眼滚动背包的转变方法 加上大佬的题解,才稍微明白 ...
- 动态规划——小A点菜(洛谷 P1164)
题目选自洛谷P1164 这是一道简单的动规题,定义f[i][j]为用前i道菜用光j元钱的办法总数,其状态转移方程如下: (1)if(j==第i道菜的价格)f[i][j]=f[i-1][j]+1; (2 ...
- P1164 小A点菜 洛谷
P1164 小A点菜 洛谷 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点&qu ...
- 洛谷 P4430 小猴打架
洛谷 P4430 小猴打架 题目描述 一开始森林里面有N只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友.每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友.经过N-1次打 ...
- 2017提高组D1T1 洛谷P3951 小凯的疑惑
洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...
最新文章
- 使用struts2+JQuery实现的简单的ajax例子
- Clion:undefined reference to `cv::noArray()解决方案
- C#与matlab混合编程
- 简单理解JSONP的定义及其实现
- linux ojvm补丁安装,打补丁PSU
- 还在用Swagger?我推荐这款零代码侵入的接口管理神器!
- 经典同步问题二——哲学家进餐问题
- mac远程连接linux 服务器桌面by VNC
- SDL_BlitSurface的参数是两个PNG时,如何保护其透明度
- java openfileoutput_java-openFileOutput在单例类中不能正常工作-想...
- 西铁城手表最外圈数字是什么_手表外圈数字是什么意思 有什么作用
- dex转java工具_安卓dex反编译工具(dex-translator)
- 【新征程】1、考研路漫漫
- Python学习手册之函数和模块
- java中int不兼容_mvn install命令时,一直报错:不兼容的类型 [ERROR] 找到: java.lang.Object [ERROR] 需要: int...
- 目标检测模型---SSD
- ajax的get json数据格式,jQuery / 用getJSON()方法加载JSON格式数据 - 汇智网
- 干货 | 使用京东云搭建视频直播网站
- AppleStore下载量查看
- 未雨绸缪:面试前为何要带一份不一定被阅的简历?