+ - नैकस्पैक समस्या


9

वस्तुओं के एक सेट को देखते हुए, प्रत्येक में एक वजन और एक मूल्य होता है, एक संग्रह में शामिल करने के लिए प्रत्येक आइटम की संख्या निर्धारित करते हैं ताकि कुल वजन किसी दिए गए सीमा से कम या बराबर हो और कुल मूल्य यथासंभव बड़ा हो।

अधिक जानकारी के लिए विकिपीडिया

उदाहरण के लिए आपको अधिकतम 15 और वस्तुओं को मूल्य / द्रव्यमान के साथ दिया जा सकता है [5,2], [7,4] [1,1]और आप 36 के स्कोर के लिए [7,0,1]7 [5 <value>, 2 <mass>]ऑब्जेक्ट और 1 [1 <value>, 1 <mass>]ऑब्जेक्ट को आउटपुट करेंगे ।

नियम

इनपुट किसी भी उचित प्रारूप में लिया जा सकता है

आउटपुट भी लचीला प्रारूप है,

आप उन पुस्तकालयों का उपयोग नहीं कर सकते हैं जो गैर-मानक हैं। यदि आपको प्रारंभिक सेटअप से अलग इसका उपयोग करने के लिए कोई लाइब्रेरी स्थापित या डाउनलोड करनी है तो इसकी अनुमति नहीं है

वस्तुओं में नकारात्मक द्रव्यमान और मान हो सकता है (अर्थात -1, -1)

इष्टतम जवाब की आवश्यकता है

जीतना

सबसे छोटा कोड जीतता है

नकारात्मक द्रव्यमान और मूल्य?

यह इस चुनौती का एक महत्वपूर्ण हिस्सा है। कहते हैं कि आपके पास वस्तुओं (द्रव्यमान, मान) के साथ एक वस्तु है जैसे कि [4,3],[-1,-1]और 15 की क्षमता वाला एक बैग। आप पहले वाले 3 डाल सकते हैं और 9 स्कोर कर सकते हैं या पहले वाले 4 डाल सकते हैं और -1 में से एक, -1 11 के स्कोर के लिए ऑब्जेक्ट।



क्या हम मान सकते हैं कि किसी भी वस्तु का गैर-सकारात्मक द्रव्यमान नहीं होगा?
हाइपरनेत्रिनो

@ हाइपर न्युट्रीनो संपादन के लिए एक सेकंड को हटाने वाला
क्रिस्टोफर

2
क्या हम मान सकते हैं कि सब कुछ एक पूर्णांक है? इसके अलावा, क्या हमें [[2, 1], [-1, -1] जैसे मामलों से निपटना होगा, जहां कुल मूल्य को बड़े पैमाने पर बनाया जा सकता है?

5
शीर्षक भ्रामक है। ऋणात्मक भार के कारण यह नैकपैक समस्या नहीं है बल्कि रैखिक प्रोग्रामिंग समस्या पर भिन्नता है।
ngn

जवाबों:


2

पायथ, 18 बाइट्स

h.MshMZfghQseMTy*F

[मूल्य, वजन] जोड़े की एक सूची के रूप में आउटपुट। Horrendously अक्षम है, लेकिन यह है एनपी पूरा हो गया।
इसे यहाँ आज़माएँ

व्याख्या

h.MshMZfghQseMTy*F
               y*FQ  Get all sets with up to <capacity> of each item.
       fghQseMT      Choose the sets whose total weight fits in the bag.
 .MshMZ              Choose those with the highest value.
h                    Take the first.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.