- 論壇徽章:
- 0
|
實際應(yīng)用中有這樣一個場景,我抽象成 “套餐問題”,大家?guī)臀蚁胂,怎樣寫一個算法:
規(guī)則介紹:
(1) 餐廳從農(nóng)民那里收購水果,收購的單位為 “一筐”,每筐水果中包含水果的標準為 35個西瓜和200個蘋果。
(2) 這些標準套餐的水果裝筐運輸?shù)讲蛷d后,要拼成套餐賣給各個客戶,每個套餐由不同個數(shù)的西瓜和蘋果組成,比如套餐A需要3個西瓜和10個蘋果。
(3) 要求:每個套餐只能從同一個筐子中拿出來西瓜和蘋果,這樣方便結(jié)算。
(4) 目前支持的套餐有 c1:2個西瓜4個蘋果 c2: 4個習(xí)慣8個蘋果 c3:4個西瓜16個蘋果, c4 8個西瓜20個蘋果。
由于西瓜價錢比較高,因此,在挑選套餐時,如果c1到c4同時出現(xiàn),以西瓜個數(shù)多,其次是蘋果個數(shù)多的套餐為優(yōu)先,選擇水果。
問題:
假設(shè)現(xiàn)在有 m 筐水果,要提供 n 份套餐,其中c1,c2,c3,c4套餐的比例為1:2:3:4,請?zhí)峁┮粋方法,在滿足套餐優(yōu)先級的情況下,挑選盡可能多份數(shù)的套餐。
謝謝!好幾年不搞算法,實在想不出來,只能發(fā)帖求助大家了。
:wink:
|
|