題目鏈結題意:給出發票,要求報銷的發票種類僅限於』a』,』 b』,'c』三種,且每張發票總額不得超過1000元,每張發票的單項物品**不得超過600元。按以上要求找到最大的報銷費。
思路:1.給的資料**是小數型別的,為了方便,可以先把小數型別的都乘100變成整數;
2.每一張發票的總額算出來並且判斷總額是否小於等於100000,單項物品**是否小於等於60000,滿足就把結果存放在mo[i]陣列裡;
3.最後再利用dp求出最後的結果,最後記得要除以100.0。
#include
#include
#include
#include
#include
#include
using
namespace std;
int dp[
3000050];
intmain()
if(a+b+c<=
100000
&&a<=
60000
&&b<=
60000
&&c<=
60000
&&f==0)
//注意這,不要放在上乙個for裡,一行資料是一次報銷,如果放在for裡就一行裡的乙個成乙個報銷了
}for
(int i=
0;iprintf
("%.2f\n"
,dp[sum]
/100.0);
}return0;
}
HDU 1864 最大報銷額
這個題是乙個揹包題,要求求出能夠報賬的最大金額 思路 把每張發票的報賬總額算出來,然後跑一次01揹包即可 注意 1 如果發票中含有a b c以外的專案,則不可以報賬 2 發票中可能含有多個a專案,判斷超總額的時候需先累加 3 對小數的處理可以先乘以100 include include includ...
HDU 1864 最大報銷額
最大報銷額 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status description 現有一筆經費可以報銷一定額度的發票。允許報銷的發票型別包括買圖書 a類 文具 b類 差旅 c類 要求每張發...
hdu 1864 最大報銷額
problem description 現有一筆經費可以報銷一定額度的發票。允許報銷的發票型別包括買圖書 a類 文具 b類 差旅 c類 要求每張發票的總額不得超過1000元,每張發票上,單項物品的價值不得超過600元。現請你編寫程式,在給出的一堆發票中找出可以報銷的 不超過給定額度的最大報銷額。in...