牛牛的揹包問題

2021-08-18 01:17:57 字數 1069 閱讀 9589

牛牛準備參加學校組織的春遊, 出發前牛牛準備往揹包裡裝入一些零食, 牛牛的揹包容量為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 ...