1025 最大報銷額

2021-07-26 17:20:44 字數 1434 閱讀 6541

// 1025_最大報銷額.cpp : 定義控制台應用程式的入口點。

//題目1025:最大報銷額

//時間限制:1 秒記憶體限制:32 兆特殊判題:否提交:4936解決:1184

//題目描述:

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

//輸入:

// 測試輸入包含若干測試用例。每個測試用例的第1行包含兩個正數 q 和 n,其中 q 是給定的報銷額度,n(n<=30)是發票張數。隨後是 n 行輸入,每行的格式為:

// m type_1:price_1 type_2:price_2 ... type_m:price_m

// 其中正整數 m 是這張發票上所開物品的件數,type_i 和 price_i 是第 i 項物品的種類和價值。物品種類用乙個大寫英文本母表示。當n為0時,全部輸入結束,相應的結果不要輸出。

//輸出:

// 對每個測試用例輸出1行,即可以報銷的最大數額,精確到小數點後2位。

//樣例輸入:

3//2 a:23.50 b:100.00

//1 c:650.00

//3 a:59.99 a:120.00 x:10.00

2//2 b:600.00 a:400.00

//1 c:200.50

3//2 b:600.00 a:400.00

//1 c:200.50

//1 a:100.00

0//樣例輸出:

//2023年浙江大學計算機及軟體工程研究生機試真題

#include "stdafx.h"

#include "stdio.h"

#include "iostream"

#include "string"

#include "string.h"

using

namespace

std;

int sum[35];

int dp[1000000];

int main()

}if(!flag)

}

memset(dp,0,sizeof(dp));

for(int i = 1;ifor(int j = (int)(q * 100);j>=sum[i];j--)

printf("%.2lf\n",dp[(int)(q*100)]/100.00);

}return0;}

/*1.這題揹包問題求的數值是double而不是int型的,

由於精度是小數點後兩位,所以應該統一 *100,

結果再 除100;

*/

1025 最大報銷額

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

最大報銷額

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

最大報銷額

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