国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

動態(tài)規(guī)劃的背包問題——小A點(diǎn)菜

2019-11-11 05:18:45
字體:
供稿:網(wǎng)友

題目背景

uim神犇拿到了uoi的ra(鐳牌)后,立刻拉著基友小A到了一家……餐館,很低端的那種。

uim指著墻上的價(jià)目表(太低級了沒有菜單),說:“隨便點(diǎn)”。

題目描述

不過uim由于買了一些輔(e)輔(ro)書,口袋里只剩M元(M<=10000)。

餐館雖低端,但是菜品種類不少,有N種(N<=100),第i種賣ai元(ai<=1000)。由于是很低端的餐館,所以每種菜只有一份。

小A奉行“不把錢吃光不罷休”,所以他點(diǎn)單一定剛好吧uim身上所有錢花完。他想知道有多少種點(diǎn)菜方法。

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

輸入輸出格式

輸入格式: 第一行是兩個數(shù)字,表示N和M。

第二行起N個正數(shù)ai(可以有相同的數(shù)字,每個數(shù)字均在1000以內(nèi))。

輸出格式: 一個正整數(shù),表示點(diǎn)菜方案數(shù)。

輸入輸出樣例

輸入樣例#1: 4 4 1 1 2 2 輸出樣例#1: 3

DP: f[i]表示用i元可以買的最大方案總數(shù)。 f[i]:=f[i]+f[j-a[i]] (1<=i<=n;m>=j>=a[i])

時(shí)間復(fù)雜度:O(n*m)

var f:array [0..10001] of longint; a:array [0..101] of longint; i,j,m,n:longint;begin readln(n,m); for i:=1 to n do read(a[i]); fillchar(f,sizeof(f),0); f[0]:=1; for i:=1 to n do for j:=m downto a[i] do f[j]:=f[j]+f[j-a[i]]; writeln(f[m]);end.
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武清区| 镇安县| 西乌珠穆沁旗| 洮南市| 资源县| 潼关县| 信宜市| 吐鲁番市| 彩票| 上栗县| 黄梅县| 呈贡县| 沐川县| 涿州市| 德阳市| 太白县| 千阳县| 长寿区| 淮北市| 和顺县| 荔浦县| 蓝田县| 常熟市| 登封市| 玉林市| 奇台县| 双江| 乌海市| 肥东县| 武宣县| 汝阳县| 高安市| 宜阳县| 长沙市| 资源县| 河曲县| 桂林市| 丘北县| 巍山| 手机| 布拖县|