最大報銷額 揹包

2021-10-01 19:57:09 字數 1091 閱讀 2791

最大報銷額

原題鏈結

本題難度主要在於資料的選擇 之後就是01揹包的問題

同時由於題目要求保留兩位小數 所以我們需要將資料100來計算,由於會100所以要注意dp陣列的大小。以保證小數字的精確 最後要注意double 的輸出

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

long

long dp[

3000005];

intmain()

long

long i;

for(i=

0; i

)else

if(s==

'b')

else

if(s==

'c')

else

if(a>

600||b>

600||c>

600)}if

(flag&&

(a+b+c)

<=

1000

)//如果該種情況可以選取就放入型別中

}memset

(dp,0,

sizeof

(dp));

long

long c=q*

100,z;

for(i=

0; i

double sum1;

sum1=

1.0*dp[c]

/100

;printf

("%.2lf\n"

,sum1);}

return0;

}

最大報銷額(01揹包)

紀念一下這個題,讀題很重要,單項物品價值不的超過600元,就是說如果一張報銷單同時含幾個型別相同的,這幾個和不超過 600元,否則不報銷,被卡到這了 剩餘就按01揹包做啦 現有一筆經費可以報銷一定額度的發票。允許報銷的發票型別包括買圖書 a類 文具 b類 差旅 c類 要求每張發票的總額不得超過100...

最大報銷額

本題要看清題目,弄清楚題目的意思,也考了理解題目意思的能力。題目要求是發票要滿足條件才可以報銷,發票上不能含有別類東西,而且每類的 相加不能超過600,所有類相加不能超過一千,所以要用if來判斷發票是否滿足條件用1,0表示。程式的結束也要注意一下。include include include us...

最大報銷額

現有一筆經費可以報銷一定額度的發票。允許報銷的發票型別包括買圖書 a類 文具 b類 差旅 c類 要求每張發票的總額不得超過1000元,每張發票上,單項物品的價值不得超過600元。現請你編寫程式,在給出的一堆發票中找出可以報銷的 不超過給定額度的最大報銷額。input 測試輸入包含若干測試用例。每個測...