題目 1324:
[NOIP2006]開(kāi)心的金明
時(shí)間限制: 2s
內(nèi)存限制: 192MB 提交: 110 解決: 33
題目描述
金明今天很開(kāi)心,家里購(gòu)置的新房就要領(lǐng)鑰匙了,新房里有一間金明自己專(zhuān)用的很寬敞的房間。更讓他高興的是,媽媽昨天對(duì)他說(shuō):“你的房間需要購(gòu)買(mǎi)哪些物品,怎么布置,你說(shuō)了算,只要不超過(guò)N元錢(qián)就行”。今天一早,金明就開(kāi)始做預(yù)算了,他把想買(mǎi)的物品分為兩類(lèi):主件與附件,附件是從屬于某個(gè)主件的,下表就是一些主件與附件的例子:
主件 附件
電腦 打印機(jī),掃描儀
書(shū)柜 圖書(shū)
書(shū)桌 臺(tái)燈,文具
工作椅 無(wú)
如果要買(mǎi)歸類(lèi)為附件的物品,必須先買(mǎi)該附件所屬的主件。每個(gè)主件可以有0個(gè)、1個(gè)或2個(gè)附件。附件不再有從屬于自己的附件。金明想買(mǎi)的東西很多,肯定會(huì)超過(guò)媽媽限定的N元。于是,他把每件物品規(guī)定了一個(gè)重要度,分為5等:用整數(shù)1~5表示,第5等最重要。他還從因特網(wǎng)上查到了每件物品的價(jià)格(都是10元的整數(shù)倍)。他希望在不超過(guò)N元(可以等于N元)的前提下,使每件物品的價(jià)格與重要度的乘積的總和最大。
設(shè)第j件物品的價(jià)格為v[j],重要度為w[j],共選中了k件物品,編號(hào)依次為j1,j2,……,jk,則所求的總和為:
v[j1]*w[j1]+v[j2]*w[j2]+ …+v[jk]*w[jk]。(其中*為乘號(hào))
請(qǐng)你幫助金明設(shè)計(jì)一個(gè)滿(mǎn)足要求的購(gòu)物單。
輸入格式
輸入第1行,為兩個(gè)正整數(shù),用一個(gè)空格隔開(kāi):
N m
(其中N(< 32000)表示總錢(qián)數(shù),m(< 60)為希望購(gòu)買(mǎi)物品的個(gè)數(shù)。)
從第2行到第m+1行,第j行給出了編號(hào)為j-1的物品的基本數(shù)據(jù),每行有3個(gè)非負(fù)整數(shù)
v p q
(其中v表示該物品的價(jià)格(v< 10000),p表示該物品的重要度(1~5),q表示該物品是主件還是附件。如果q=0,表示該物品為主件,如果q> 0,表示該物品為附件,q是所屬主件的編號(hào))
輸出格式
輸出只有一個(gè)正整數(shù),為不超過(guò)總錢(qián)數(shù)的物品的價(jià)格與重要度乘積的總和的最大值(< 200000)。
樣例輸入 復(fù)制
1000 5
800 2 0
400 5 1
300 5 1
400 3 0
500 2 0
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程 ,包含C/C++、Python、百練、藍(lán)橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點(diǎn)擊這里 了解課程詳情
標(biāo)簽
顯示知識(shí)點(diǎn)標(biāo)簽
C
C++
Java
Python
PHP
代碼重置
開(kāi)啟O2優(yōu)化