題目有點問題,原題中說的
應該是單類物品的價值不能超過600元。
一開始以為是01揹包,後來按貪心寫過了。
一張一張發票處理,讀入一整張發票的資料。然後檢查一下裡面是否有不能報銷的類別(即除abc)以外的其他類。然後看一下單類的價錢是否超過600。如都滿足題目所說能夠報銷的要求,則把它存到b陣列裡面,接著對b陣列按照金額降序排序,結合給的經費,先報銷大的,再報銷小的,遍歷一遍即可。
#include
#include
#include
#include
#define nmax 35
using
namespace
std;
double b[nmax];
double a[26];
void check(int pos)
else
if(i >=3)
}if(can) b[pos] = sum;
}bool cmp(double a ,double b)
int main()
check(i);
}double t;
sort(b+1,b+1+n,cmp);
t = m; double cnt = 0;
for(int i =1;i<=n;++i )
}printf("%.2f\n",cnt);
}return
0;}
HDOJ HDU 1864 最大報銷額 貪心
題目有點問題,原題中說的 應該是單類物品的價值不能超過600元。一開始以為是01揹包,後來按貪心寫過了。一張一張發票處理,讀入一整張發票的資料。然後檢查一下裡面是否有不能報銷的類別 即除abc 以外的其他類。然後看一下單類的價錢是否超過600。如都滿足題目所說能夠報銷的要求,則把它存到b陣列裡面,接...
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類 要求每張發...