国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 天等县| 丹江口市| 鄯善县| 海原县| 赫章县| 镇雄县| 沽源县| 内乡县| 沾益县| 防城港市| 枝江市| 罗田县| 隆昌县| 博白县| 定安县| 栾城县| 安多县| 石城县| 开封县| 宜宾县| 怀安县| 华池县| 杭锦后旗| 临安市| 苍南县| 吴桥县| 延长县| 平凉市| 镇雄县| 长兴县| 洛川县| 沭阳县| 澳门| 阿拉善左旗| 自治县| 昭平县| 武冈市| 米泉市| 青阳县| 瑞安市| 巴彦县|