題目描述
桐桐放學了,在學校食堂吃起了飯….
這裡的飯十分好吃,但是桐桐的錢有限且肚子空間有限(^_^),雖然每種飯有無限多,但他只能吃部分,且每一種飯可增加一定的能量。桐桐覺得自己有點胖,於是下了乙個決心:我今天只吃第二多能量值的飯!
請你輸出他所吃的飯的能量值。
注意:第二多能量值的飯一定不等於最多能量值。
輸入共n+l行。
第1行三個數n,m,o,表示有n種食物供選擇(每種食物可以選無限次),桐桐帶了m元錢,肚子空間為o。
第2行到第n+l行,每行3個數ai,bi,ci,分別表示第i個食物需要花ai元錢,占用bi個肚子空間,而獲得ci個能量值。
輸出1行,為第二多的能量值,如果你沒有第二多,則輸出「error」。
複製樣例資料
10 7 3樣例輸出4 1 133
1 2 420
4 1 98
5 3 762
7 3 91
5 1 746
2 2 910
4 1 655
2 2 271
5 3 286
1565提示
30%的資料滿足:l≤n≤10 1≤m,o≤10;
50%的資料滿足:l≤n≤100 l≤m,o≤100;
i00%的資料滿足:1≤n≤100 1≤m,o≤1000。
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int m,n,o;
int dp[1010][1010],mi,mx;
int main()
else if(dp[i-x][j-y]+z>mi&&dp[i-x][j-y]+z0)
cout
cout<<"error"
}
C 完全揹包問題
完全揹包問題 有n種重量和價值分別為wi,vi的物品。從這些物品中挑選總重量不超過w的物品,求出挑選物品價值總和的最大值。在這裡,每種物品可以挑選任意多件。輸入格式 nw v w輸出格式 最大總價值 輸入 33 4 4 52 3 輸出 10解題思路 相對於01揹包,完全揹包一件物品可以挑選任意多件,...
揹包問題(完全揹包)
1.矩陣鏈乘法 2.投資組合問題 3.完全揹包問題 4.01揹包問題 5.最長公共子串行 乙個揹包,可以放入n種物品,物品j的重量和價值分別為,如果揹包的最大重量限制是b,怎麼樣選擇放入揹包的物品以使得揹包的總價值最大?組合優化問題,設表示裝入揹包的第j個物品的數量,解可以表示為。那麼目標函式和約束...
01揹包問題,完全揹包問題,多重揹包問題C 實現
基於 揹包問題九講 2.0 beta1.2 實現 參考 動態規劃之揹包問題系列 smon的文章 知乎 0 1揹包問題的動態規劃演算法 bat特白的文章 知乎 非常感謝各位的部落格解答,如果大家看完後有不理解的可以參考 也可以自己進行實現,這樣才能更深刻的理解。01揹包問題 int zeroonepa...