HDOJ HDU 1864 最大報銷額 貪心

2021-07-27 05:35:15 字數 742 閱讀 6271

題目有點問題,原題中說的

應該是單類物品的價值不能超過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類 要求每張發...