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