Lhakpa एक शेरपा हैं, जो पहाड़ों में रास्ता दिखाने और सामान ढोने का काम करती हैं। कई महीनों की सोच-समझकर की गई तैयारी के बाद, Lhakpa जिस अभियान के लिए काम करती हैं वह अब रवाना होने वाला है। जो सामान उन्होंने आधार शिविर तक पहुँचाया था, उसकी कीमत उन्हें मिलेगी।
उनके सामने बहुत सारी चीज़ें रखी हैं, और हर चीज़ की अपनी कीमत और अपना वज़न है। Lhakpa खुशी-खुशी ये सारी चीज़ें ले लेतीं, लेकिन उनका झोला सीमित वज़न ही उठा सकता है।
आपको यह तय करना है कि कौन-सी चीज़ें उठानी हैं, जिससे उसके चुनाव की कुल वैल्यू अधिकतम हो जाए। साथ ही यह भी ध्यान रखना है कि नैपसैक में कितना वज़न रखा जा सकता है।
चीज़ें एक ऐरे के रूप में दी जाएँगी। हर चीज़ का एक वज़न और एक वैल्यू होगा। दी गई सभी वैल्यू पूरी तरह धनात्मक होंगी। Lhakpa हर चीज़ में से एक ही ले सकती है।
उदाहरण के लिए:
Items: [
{ "weight": 5, "value": 10 },
{ "weight": 4, "value": 40 },
{ "weight": 6, "value": 30 },
{ "weight": 4, "value": 50 }
]
Knapsack Maximum Weight: 10
ऊपर दिए उदाहरण में पहली चीज़ का वज़न 5 और वैल्यू 10 है, दूसरी चीज़ का वज़न 4 और वैल्यू 40 है, और इसी तरह आगे भी। इस उदाहरण में Lhakpa को अपनी वैल्यू अधिकतम करने के लिए दूसरी और चौथी चीज़ उठानी चाहिए, जिससे उसकी वैल्यू 90 हो जाती है। वह 90 से अधिक वैल्यू नहीं पा सकती, क्योंकि उसके नैपसैक पर वज़न की सीमा 10 है।
आइटम रिकॉर्ड के रूप में दर्शाए जाते हैं, जो item.lfe में परिभाषित हैं।
भार पाने के लिए item-weight का और वैल्यू पाने के लिए item-value का इस्तेमाल कीजिए।
;; Create an item with weight=5, value=50
(set item (make-item weight 5 value 50))
;; Get the weight. Returns 5.
(item-weight item)
;; Get the value. Returns 50.
(item-value item)
Exercism पर साइन अप कीजिए और Lisp Flavoured Erlang को 68 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।