17.【加試題】小炫報(bào)名參加“智力大沖浪”節(jié)目.比賽規(guī)則如下:
比賽開(kāi)始時(shí)參賽者將預(yù)先得到M元獎(jiǎng)金.
比賽時(shí)間分為N個(gè)時(shí)段(N≤100),有N個(gè)小游戲,每個(gè)時(shí)段可完成1個(gè)游戲,第i個(gè)小游戲必須在規(guī)定期限t(i)時(shí)段前完成(1≤t(i)≤N),否則要從獎(jiǎng)金M元中扣去獎(jiǎng)金w(i),w(i)為自然數(shù),不同的游戲扣去的獎(jiǎng)金不一樣.每個(gè)游戲必須從整時(shí)段開(kāi)始.注意:比賽絕對(duì)不會(huì)讓參賽者賠錢(qián)!
例如:當(dāng)N=5,M=100時(shí)
游戲編號(hào) |
1 |
2 |
3 |
4 |
5 |
完成期限t(i) |
1 |
4 |
2 |
3 |
2 |
扣除獎(jiǎng)金數(shù)w(i) |
5 |
4 |
10 |
8 |
7 |
在這種情況下,小炫依次完成編號(hào)為5、3、4、2、1的小游戲,獲得了最高獎(jiǎng)金95元.
他的算法思想:盡量準(zhǔn)時(shí)完成扣款高的游戲.扣除獎(jiǎng)金越少,則最后贏取的獎(jiǎng)金越多.
(1)按扣款數(shù)值從大到小排序,在樣例中,排序后游戲編號(hào)依次為3、4、5、1、2.
(2)對(duì)于游戲i,在時(shí)間段1到t(i)完成,效果都是一樣的,所以盡量放在時(shí)間段t(i)完成,若該時(shí)段已經(jīng)被占用,則依次考查時(shí)間段t(i)-1,t(i)-2,…,1.
本例中:
①考慮游戲3,放置在時(shí)間段2完成(注:t(3)=2);
②考慮游戲4,放置在時(shí)間段3完成(注:t(4)=3);
③考慮游戲5,時(shí)間段2已被游戲3占用,放置在時(shí)間段1完成(注:t(5)-1=1);
④考慮游戲1,時(shí)間段1已被游戲5占用,不能按時(shí)完成,記錄扣款;
⑤考慮游戲2,放置在時(shí)間段4完成(注:t(2)=4).
小炫按如上算法編寫(xiě)了一個(gè)VB程序,計(jì)算“智力大沖浪”游戲中玩家最多可贏取的獎(jiǎng)金,將結(jié)果輸出到文本框Text1中.
VB程序代碼如下所示,請(qǐng)?jiān)趧澗€(xiàn)處填入合適代碼.