ssl2293 暗黑遊戲

2021-07-31 04:30:32 字數 1670 閱讀 6221

暗黑遊戲

time limit:10000ms  memory limit:65536k

total submit:87 accepted:50 

case time limit:1000ms

description

暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的**(pg和rune)、能力值、最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優的裝備,以獲得最高的能力值。請你幫忙計算出現有支付能力下的最大可以獲得的能力值。 

input

第一行,三個整數n,p,r,分別代表市場中物品種類,pg的支付能力和rune的支付能力。 

第2..n+1行,每行四個整數,前兩個整數分別為購買此物品需要花費的pg,rune,第三個整數若為0,則說明此物品可以購買無數件,若為其他數字,則為此物品可購買的最多件數(s),第四個整數為該裝備的能力值。

output

僅一行,乙個整數,最大可獲得的能力值。

sample input

3 10 10 

5 3 0 110

4 3 4 120

2 3 1 130

sample output

370

hint

注釋 hint 

對於30%的資料, 0

source

var

f:array[0..1000,0..1000]of longint;//多個變數,多個維度

v,vv,w,s:array[0..1000]of longint;

n,p,r,i,j,k,l:longint;

function max(a,b:longint):longint;

begin

if a>b then exit(a);

exit(b);

end;

begin

read(n,p,r);

for i:=1 to n do readln(v[i],vv[i],s[i],w[i]);

for i:=1 to n do

if s[i]=0 then

begin

for j:=v[i] to p do

for k:=vv[i] to r do//多個代價,多個迴圈

f[j,k]:=max(f[j,k],f[j-v[i],k-vv[i]]+w[i]);

endelse

begin

for j:=1 to s[i] do

for k:=p downto v[i] do

for l:=r downto vv[i] do//多個代價,多個迴圈

f[k,l]:=max(f[k,l],f[k-v[i],l-vv[i]]+w[i]);

end;

writeln(f[p,r]);

end.

//本題其實就是個多了個代價的混合揹包,詳見

SSL 2293暗黑遊戲

time limit 1000ms memory limit 65536k 暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的 pg和rune 能力值 最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優...

SSL2293 暗黑遊戲 dp

暗黑遊戲 description 暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的 pg和rune 能力值 最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優的裝備,以獲得最高的能力值。請你幫忙計算出...

SSL 2293 暗黑遊戲(動規練習題)

暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的 pg和rune 能力值 最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優的裝備,以獲得最高的能力值。請你幫忙計算出現有支付能力下的最大可以獲得的能力...