牛牛準備參加學校組織的春遊, 出發前牛牛準備往揹包裡裝入一些零食, 牛牛的揹包容量為w。
牛牛家裡一共有n袋零食, 第i袋零食體積為v[i]。
牛牛想知道在總體積不超過揹包容量的情況下,他一共有多少種零食放法(總體積為0也算一種放法)。
輸入描述:
輸入包括兩行
第一行為兩個正整數n和w(1 <= n <= 30, 1 <= w <= 2 * 10^9),表示零食的數量和揹包的容量。
第二行n個正整數v[i](0 <= v[i] <= 10^9),表示每袋零食的體積。
輸出描述:
輸出乙個正整數, 表示牛牛一共有多少種零食放法。
輸入例子1:
3 10
1 2 4
輸出例子1:
8例子說明1:
三種零食總體積小於10,於是每種零食有放入和不放入兩種情況,一共有2*2*2 = 8種情況。
遞迴超時
#include
#include
using
namespace
std;
int resolver(int id, int left, vector
& v)
int main()
cout
<< resolver(0, vbag, v);
return
0;}
動態規劃 ,注意要用 long, 因為牛牛的揹包巨大
#include
#include
#include
using
namespace
std;
struct cmp_key
};int main()
for (int i = 0; i != nsnack; ++i)
}int cnt = 0;
for (auto it = begin(mp); it != end(mp); ++it)
cout
<< cnt << endl;
}
牛牛的揹包問題
牛牛準備參加學校組織的春遊,出發前牛牛準備往揹包裡裝入一些零食,牛牛的揹包容量為w。牛牛家裡一共有n袋零食,第i袋零食體積為v i 牛牛想知道在總體積不超過揹包容量的情況下,他一共有多少種零食放法 總體積為0也算一種放法 牛牛準備參加學校組織的春遊,出發前牛牛準備往揹包裡裝入一些零食,牛牛的揹包容量...
牛牛的揹包問題
牛牛準備參加學校組織的春遊,出發前牛牛準備往揹包裡裝入一些零食,牛牛的揹包容量為w。牛牛家裡一共有n袋零食,第i袋零食體積為v i 牛牛想知道在總體積不超過揹包容量的情況下,他一共有多少種零食放法 總體積為0也算一種放法 輸入包括兩行 第一行為兩個正整數n和w,表示零食的數量和揹包的容量。第二行n個...
牛客網 牛牛的揹包
題目描述 牛牛準備參加學校組織的春遊,出發前牛牛準備往揹包裡裝入一些零食,牛牛的揹包容量為w。牛牛家裡一共有n袋零食,第i袋零食體積為v i 牛牛想知道在總體積不超過揹包容量的情況下,他一共有多少種零食放法 總體積為0也算一種放法 輸入描述 輸入包括兩行 第一行為兩個正整數n和w 1 n 30,1 ...