HDU 2546 飯卡(01揹包)

2022-09-18 22:45:14 字數 414 閱讀 7240

這道題是一道關於01揹包的,需要注意的是,先排序把價錢最大的那道菜去出來不進行放入,然後在(m-5)塊錢的餘額下進行01揹包的排序。

#include#include#include#includeusing namespace std;

#define inf 0x3ffffffff

int n,m;

int a[1005];

int dp[1005];

int dp()

//printf("\n");

}int ma=0;

for(int i=0; i<=m; i++)

if(dp[i]>ma) ma=dp[i];

return ma;

}int main()

}return 0;

}

HDU2546 飯卡 01揹包

problem description 電子科大本部食堂的飯卡有一種很詭異的設計,即在購買之前判斷餘額。如果購買乙個商品之前,卡上的剩餘金額大於或等於5元,就一定可以購買成功 即使購買後卡上餘額為負 否則無法購買 即使金額足夠 所以大家都希望盡量使卡上的餘額最少。某天,食堂中有n種菜 每種菜可購買一...

HDU 2546 飯卡 01揹包

我的做法是找出n種菜中最貴的 k,把揹包的容量m增加的到m k 然後對 排個序,因為dp是從第乙個菜到最後乙個菜,越貴的菜越後選結果越小,然後進行dp include include include include using namespace std const int maxn 1010 in...

hdu2546飯卡 01揹包

problem description 電子科大本部食堂的飯卡有一種很詭異的設計,即在購買之前判斷餘額。如果購買乙個商品之前,卡上的剩餘金額大於或等於5元,就一定可以購買成功 即使購買後卡上餘額為負 否則無法購買 即使金額足夠 所以大家都希望盡量使卡上的餘額最少。某天,食堂中有n種菜 每種菜可購買一...