मुझे बैंक जाने और कुछ पैसे निकालने की जरूरत है। मुझे इंटरनेट के लिए अपने रूममेट और कपड़े धोने के लिए $ 8 का भुगतान करने के लिए $ 30, $ 22 वापस लेने की आवश्यकता है। चूंकि इनमें से कोई भी परिवर्तन नहीं कर सकता है, मुझे अपने $ 30 की आवश्यकता है ताकि दो आकारों के दो भागों में विभाजित किया जा सके। इसका मतलब है कि जब टेलर मुझसे पूछता है कि मैं अपना $ 30 कैसे चाहता हूं तो मुझे एक अनुरोध करना होगा। मैं उन्हें बता सकता था कि मैं इसे एक बीस, एक दाढ़ और पांच लोगों में चाहता हूं। लेकिन मैं अपने अनुरोध को यथासंभव सरल बनाना चाहता हूं ताकि खुद को दोहराने से बचा जा सके। मेरे अनुरोध को सरल बनाने के लिए मैं पूछ सकता हूं कि मेरी नकदी में एक बीस और कम से कम 2 वाले हैं क्योंकि 8 कुल द्वारा निहित हैं, लेकिन बेहतर अभी तक मैं बस अनुरोध कर सकता हूं कि मुझे प्राप्त होने वाले बिलों में से एक एक डॉलर का बिल हो (यदि आप इसके बारे में आश्वस्त नहीं हैं बस 8 बनाने के बिना 29 डॉलर बनाने की कोशिश करें)।
तो यह सब ठीक है और बांका है, लेकिन मुझे यह गणना हर बार बैंक में करने की आवश्यकता है इसलिए मैंने सोचा कि मैं ऐसा करने के लिए एक कार्यक्रम लिखूंगा (क्या आप मेरे लिए ऐसा करने के लिए एक कार्यक्रम लिखते हैं)।
आपके कार्यक्रम या फ़ंक्शन को उन सभी भुगतानों का प्रतिनिधित्व करने वाले पूर्णांकों की एक सूची लेनी चाहिए जो मुझे बनाने की आवश्यकता है और पूर्णांक का एक सेट जो कि बैंक में उपलब्ध बिलों के संप्रदायों का प्रतिनिधित्व करता है, और आपको संप्रदायों की सबसे छोटी सूची का उत्पादन करना होगा जैसे कि कुल बनाने का हर तरीका इसमें शामिल हैं कि मूल्यवर्ग की सूची को भुगतान की सूची में साफ-साफ विभाजित किया जा सकता है।
अतिरिक्त नियम
आप मान सकते हैं कि मूल्यवर्ग सूची में हमेशा एक
1
या आप इसे प्रत्येक सूची में जोड़ सकते हैं।कुछ इनपुट में कई न्यूनतम समाधान होंगे। इन मामलों में आप किसी एक का उत्पादन कर सकते हैं।
यह कोड-गोल्फ है इसलिए उत्तर बाइट में कम बाइट के साथ बेहतर स्कोर किए जाएंगे।
परीक्षण के मामलों
Payments, denominations -> requests
{22,8} {1,2,5,10,20,50} -> {1} or {2}
{2,1,2} {1,5} -> {1}
{20,10} {1,2,5,10,20,50} -> {}
{1,1,1,1} {1,2} -> {1,1,1}
{20,6} {1,4,5} -> {1}
{2,6} {1,2,7} -> {2}
{22, 11} {1, 3, 30, 50} -> {1, 3}
{44, 22} {1, 3, 30, 50} -> {1, 3, 3, 30}
{2,6} {1,2,7} -> {2}
।
(If you are not convinced of this just try to make 29 dollars without making 9)
आप 8 बनाने के बिना मतलब है? या मुझे गलत समझ में आया