नैपसैक

नैपसैक

मध्यम

परिचय

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 है।

रजिस्टर

रजिस्टर उपयोग टाइप विवरण
$a0 इनपुट पता चीज़ों के भार का ऐरे
$a1 इनपुट पता चीज़ों की वैल्यू का ऐरे
$a2 इनपुट पूर्णांक चीज़ों की संख्या
$a3 इनपुट पूर्णांक अधिकतम भार
$v0 आउटपुट पूर्णांक अधिकतम वैल्यू
$t0-9 अस्थायी कोई भी अस्थायी भंडारण के लिए इस्तेमाल होता है

स्रोत

Wikipediaयह लिंक एक नई विंडो या टैब में खुलता है
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
MIPS Assembly Exercism

नैपसैक शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और MIPS Assembly को 70 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।