1.摘蘋果。樹上有n個(gè)蘋果,小明身高160cm,板凳高度40cm。每個(gè)蘋果大小不一樣。摘蘋果和搬板凳分別需要消耗1個(gè)能量點(diǎn)。假設(shè)小明共有ey個(gè)能量點(diǎn)。則如何摘能使小明摘到蘋果的總重量最大。
編寫程序思路:先按蘋果高度(小于等于160,大于160且小于等于200)將數(shù)據(jù)分別存儲(chǔ)在apple_a,apple_b中,并按蘋果重量降序排列。再對(duì)兩組數(shù)據(jù)進(jìn)行比較:若消耗2個(gè)能量點(diǎn)的最重蘋果大于消耗1個(gè)能量點(diǎn)的最重兩個(gè)蘋果之和,則摘下消耗2個(gè)能量點(diǎn)的最重蘋果,否則摘下消耗1個(gè)能量點(diǎn)的最重蘋果。蘋果的高度與重量存儲(chǔ)在列表apple中,每個(gè)元素中的第一個(gè)表示高度(cm),第二個(gè)表示蘋果重量(g)。如apple=[[100,202],[210,300],[170,400],[110,100],[140,150],[180,340]],ey=5,則摘下的蘋果:[170,400][100,202][180,340]。
請(qǐng)回答下列問(wèn)題:
(1)若apple=[[200,102],[205,200],[160,400],[150,304],[130,189],[175,104],[188,350]],能量點(diǎn)數(shù)ey=6,則摘到的總重量最大是
g。
(2)定義sort(d)函數(shù),參數(shù)d的每個(gè)元素由高度與重量構(gòu)成。函數(shù)功能是按蘋果重量降序排列,函數(shù)返回d。則①處合適的代碼為
。
(3)定義link(d)函數(shù)。函數(shù)功能將列表d創(chuàng)建成鏈表。則②處合適的代碼是
。
(4)實(shí)現(xiàn)摘蘋果的主程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。