01揹包模型P1164 小A點菜

2021-10-09 16:04:58 字數 927 閱讀 8319

一定要注意:在不同的條件之下,dp陣列代表的含義不同,一般是問題問的元素。

題目背景

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

uim指著牆上的價目表(太低階了沒有選單),說:「隨便點」。

題目描述

不過uim由於買了一些輔(e)輔(ro)書,口袋裡只剩mmm元(m≤10000)(m \le 10000)(m≤10000)。

餐館雖低端,但是菜品種類不少,有nnn種(n≤100)(n \le 100)(n≤100),第iii種賣aia_iai​元(ai≤1000)(a_i \le 1000)(ai​≤1000)。由於是很低端的餐館,所以每種菜只有乙份。

小a奉行「不把錢吃光不罷休」,所以他點單一定剛好吧uim身上所有錢花完。他想知道有多少種點菜方法。

由於小a肚子太餓,所以最多只能等待111秒。

輸入格式

第一行是兩個數字,表示nnn和mmm。

第二行起nnn個正數aia_iai​(可以有相同的數字,每個數字均在100010001000以內)。

輸出格式

乙個正整數,表示點菜方案數,保證答案的範圍在intintint之內。

輸入輸出樣例

輸入 #1

4 41 1 2 2

輸出 #1

#include

using

namespace std;

int dp[

101]

[10001

], cost[

101]

;//dp[i][j]代表在可以點i個菜,花完j元錢時,點菜的最多方法

intmain()

cout << dp[n]

[m];

return0;

}

P1164 小A點菜 01揹包多少種方法 1

uim神犇拿到了uoi的ra 鐳牌 後,立刻拉著 小a到了一家 餐館,很低端的那種。uim指著牆上的價目表 太低階了沒有選單 說 隨便點 不過uim由於買了一些輔 e 輔 ro 書,口袋裡只剩m元 m 10000 餐館雖低端,但是菜品種類不少,有n種 n 100 第ii種賣ai 元 ai 1000 ...

洛谷 P1164 小A點菜

不過uim由於買了一些輔 e 輔 ro 書,口袋裡只剩m元 m 10000 餐館雖低端,但是菜品種類不少,有n種 n 100 第i種賣ai元 ai 1000 由於是很低端的餐館,所以每種菜只有乙份。小a奉行 不把錢吃光不罷休 所以他點單一定剛好吧uim身上所有錢花完。他想知道有多少種點菜方法。由於小...

洛谷P1164 小A點菜

題目背景 uim神犇拿到了uoi的ra 鐳牌 後,立刻拉著 小a到了一家 餐館,很低端的那種。uim指著牆上的價目表 太低階了沒有選單 說 隨便點 題目描述 不過uim由於買了一些輔 e 輔 ro 書,口袋裡只剩m元 m 10000 餐館雖低端,但是菜品種類不少,有n種 n 100 第i種賣ai元 ...