कैपेसिटर उच्च सहिष्णुता के साथ निर्मित होने के लिए कुख्यात हैं। यह कई मामलों में स्वीकार्य है, लेकिन कुछ बार तंग सहिष्णुता के साथ क्षमता की आवश्यकता होती है। एक सामान्य रणनीति जिसकी आपको आवश्यकता होती है उसकी सटीक मूल्य के साथ क्षमता प्राप्त करने के लिए है दो समानांतर रूप से मापा कैपेसिटर का उपयोग करें जैसे कि उनकी क्षमता आपके द्वारा आवश्यक सीमा में कुछ में जोड़ देती है।
इस चुनौती में लक्ष्य क्षमता का एक (बहु) सेट दिया गया है, कैपेसिटर को युग्मित करने के लिए कि प्रत्येक जोड़ी की कुल क्षमता एक दी गई सीमा में है। आपको पेयरिंग का सबसे अच्छा सेट भी खोजने की आवश्यकता है, अर्थात, ऐसी जोड़ी का सेट जो कि अधिक से अधिक जोड़े मिलें।
प्रतिबन्ध
- इनपुट में पसंद का एक प्रारूप शामिल है
- आपके पास मौजूद कैपेसिटर के सेट (बहु) का प्रतिनिधित्व करने वाली क्षमताओं की एक अनियंत्रित सूची
- लक्ष्य रेंज के निचले और ऊपरी हिस्से (समावेशी) का प्रतिनिधित्व करने वाली क्षमता की एक जोड़ी
- इनपुट में सभी क्षमताएं सकारात्मक पूर्णांक 2 30 से छोटी हैं , इकाई pF है (यह मायने नहीं रखता है)।
- इनपुट में कैपेसिटी की सूची के अलावा, कैपेसिटर के सेट में 0 पीएफ के मान के साथ कैपेसिटर की एक अनंत राशि भी होती है।
- आउटपुट पसंद के प्रारूप में शामिल होते हैं, क्षमता के जोड़े की एक सूची जैसे कि प्रत्येक जोड़ी का योग निर्दिष्ट लक्ष्य सीमा में है। न तो जोड़े का क्रम और न ही किसी जोड़ी के भीतर क्षमताओं का क्रम निर्दिष्ट है।
- आउटपुट की कोई क्षमता आपके द्वारा कैपेसिटर के सेट में दिखाई देने की तुलना में अधिक बार दिखाई नहीं दे सकती है । दूसरे शब्दों में: आपके द्वारा उत्पादित जोड़े ओवरलैप नहीं होने चाहिए।
- ऐसी कोई संभावित आउटपुट संतोषजनक स्थिति 4 और 5 नहीं होगी जिसमें आपके प्रोग्राम द्वारा उत्पादित आउटपुट की क्षमता से अधिक जोड़े हों।
- आपका कार्यक्रम O ( n !) समय में समाप्त हो जाएगा, जहां n आपके पास कैपेसिटर के सेट का प्रतिनिधित्व करने वाली सूची की लंबाई है
- खामियों का दुरुपयोग नहीं किया जाएगा
- तय सीमा खाली नहीं होगा
स्कोरिंग
आपका स्कोर ऑक्टेट्स में आपके समाधान की लंबाई है। यदि आपका समाधान कुछ k के लिए बहुपद समय O ( n k ) में इस समस्या को हल करने का प्रबंधन करता है , तो अपने स्कोर को 10 से विभाजित करें। मुझे नहीं पता कि क्या यह वास्तव में संभव है।
नमूना इनपुट
श्रेणी 100 से 100, इनपुट सरणी
100 100 100
, मान्य आउटपुट:0 100 0 100 0 100
रेंज 100 से 120, इनपुट सरणी
20 80 100
, मान्य आउटपुट:0 100 20 80
आउटपुट
20 100
मान्य नहीं हैसीमा 90 से 100, इनपुट सरणी
50 20 40 90 80 30 60 70 40
, मान्य आउटपुट:0 90 20 80 30 70 40 60 40 50
सीमा 90 से 90, इनपुट सरणी
20 30 40 40 50 60 70 80 90
, मान्य आउटपुट:0 90 20 70 30 60 40 50
सीमा 90 से 110, इनपुट सरणी
40 60 50
, मान्य आउटपुट:40 60
a <= b <= c <= d
कि इस तरह के a + d, a + c, b + d
रेंज में सभी कर रहे हैं, लेकिन b + c
नहीं है, लेकिन है कि एक विरोधाभास देता है।