博物館正在限時展出m個朝代的展覽品。小明想要趁周末的時間去博覽館看這些朝代的展覽品。等她到了那里之后,才發(fā)現(xiàn)買門票有一個奇怪的規(guī)定,就是門票的價格根據(jù)你賞品的數(shù)量而定(但只能看連續(xù)的展覽品)。即如果只看三個物品,只需要3塊錢。為了看到更多朝代的物品,小明希望入場后能看到所有朝代的物品(每個朝代至少一件)。可是他又想節(jié)省價錢,希望用最少的錢看到所有朝代的物品。
為此,他編寫了如下程序來解決。在文本框Text3中輸入博物館中m個朝代的n件物品,每個朝代的編號在列表List1中顯示,每個物品依次放在各自的位置。a(i)表示第i位置物品的朝代編號(用1~m表示)
算法說明:每次判斷金錢數(shù)量d是否滿足條件(在n個數(shù)中取一個區(qū)間長度為d的序列判斷是否包含所有朝代)。具體判斷方法如下。
以n=9,m=5,d=5,物品順序按照朝代編號為2,5,3,1,3,2,4,1,5為例。
v數(shù)組 |
取的序列 |
1 |
2 |
3 |
4 |
5 |
i=1 |
2,5,3,1,3 |
1 |
1 |
2 |
0 |
1 |
i=2 |
5,3,1,3,2 |
1 |
1 |
2 |
0 |
1 |
i=3 |
3,1,3,2,4 |
1 |
1 |
2 |
1 |
0 |
i=4 |
1,3,2,4,1 |
2 |
1 |
1 |
1 |
0 |
i=5 |
3,2,4,1,5 |
1 |
1 |
1 |
1 |
1 |
程序運行界面如所示。請回答下列問題:
(1)若有4個朝代的展覽品,其朝代順序為“漢秦晉秦漢漢楚漢晉晉”,則最少需要花費
5
5
元。
(2)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適的代碼。