王先生是一位收藏家,他收集了很多雕像。每個雕像都放置在一個收藏臺 上,收藏臺的位置由左至右成一列排開,編號依次為1,2,…n.兩個收藏臺之間的距離為1公尺。為了美觀,王先生根據(jù)各雕像的高度和距離計算其應擺放的位置,并以此搬動和重新擺放雕像,最終擺放的雕像符合下列要求:
●每個收藏臺上放置一個雕像。
●雕像必須根據(jù)高度,從左到右由低到高依次放置。
●若任意兩個雕像的高度相同時,則重量輕的雕像放置在左邊。
●若任意兩個雕像高度和重量都相同時,則依照原先雕像的左右相對順序來放置,也就是說原先在左邊的雕像必須放置在左邊。
例如:有5個收藏臺,雕像S;的高度和重量以(h,w)表示,依次為(5,20),(10,25),(78,40),(25,25),(5,15),搬運方案如表所示。
收藏臺 |
1 |
2 |
3 |
4 |
5 |
搬運說明 |
雕像 |
S1 |
S2 |
S3 |
S4 |
S5 |
S5搬到收藏臺1,距離為4公尺 S1搬到收藏臺2,距離為1公尺 S2搬到收藏臺3,距離為1公尺 S3搬到收藏臺5,距離為2公尺 |
(高度,重量) |
(5,20) |
(10,25) |
(78,40) |
(25,25) |
(5,15) |
應擺放的雕像 |
S5 |
S1 |
S2 |
S4 |
S3 |
搬運距離 |
1 |
1 |
2 |
0 |
4 |
總距離:1+1+2+4=8(公尺) |
編寫VB程序,計算搬運過程和搬運距離。程序運行界面如圖所示。
(1)若有8個收藏臺,收藏臺上雕像的高度和重量以(hi,w。)表示,由左至右依次為(5,15)、(3,5)。(9,13)(13,20)、(24,30)、(40,50)、(9,12)、(5,15),則根據(jù)規(guī)則將雕像重新擺放所需搬動的總距離為
18
18
公尺。
(2)算法的VB程序如下,請在橫線處填入合適的代碼。