इस चुनौती में, आपको दो चीजें दी जाती हैं:
- एक स्ट्रिंग लंबाई,
N - तार की एक सूची
L, प्रत्येक, एक निर्दिष्ट बिंदु मान के साथ। कोई भी स्ट्रिंग जो पास नहीं है, उसका मान 0 अंक है
आपको लंबाई की एक स्ट्रिंग का निर्माण करने की आवश्यकता है Nजैसे कि सभी प्रतिस्थापन बिंदुओं का योग यथासंभव बड़ा है।
उदाहरण के लिए:
5 [("ABC", 3), ("DEF", 4), ("CDG", 2)]
आउटपुट चाहिए
ABCDG
क्योंकि अंक ( ABCऔर CDG) वाले दो पदार्थों में कुल 5 अंक हैं, और कोई अन्य संभावित निर्माण 5 या अधिक अंक नहीं दे सकता है।
सबस्ट्रिंग को एक स्ट्रिंग में कई बार इस्तेमाल किया जा सकता है, और ओवरलैप कर सकते हैं। आप मान सकते हैं कि अंक हमेशा सकारात्मक होंगे, सबस्ट्रिंग की लंबाई 1 से Nवर्णों की लंबाई के बीच होगी , और वह N > 0। यदि कई निर्माण अधिकतम हैं, तो उनमें से किसी एक को प्रिंट करें।
आपका कार्यक्रम उचित समय पर चलना चाहिए (प्रत्येक उदाहरण के लिए एक मिनट से अधिक नहीं):
1 [("A", 7), ("B", 4), ("C", 100)] => C
2 [("A", 2), ("B", 3), ("AB", 2)] => AB
2 [("A", 1), ("B", 2), ("CD", 3)] => BB
2 [("AD", 1), ("B", 2), ("ZB", 3)] => ZB
3 [("AB", 2), ("BC", 1), ("CA", 3)] => CAB
3 [("ABC", 4), ("DEF", 4), ("E", 1)] => DEF
4 [("A", 1), ("BAB", 2), ("ABCD", 3)] => AAAA or ABAB or BABA or ABCD
5 [("A", 1), ("BAB", 2), ("ABCD", 3)] => BABCD or BABAB
5 [("ABC", 3), ("DEF", 4), ("CDG", 2)] => ABCDG
5 [("AB", 10), ("BC", 2), ("CA", 2)] => ABCAB
6 [("AB", 10), ("BC", 2), ("CA", 2)] => ABABAB
8 [("AA", 3), ("BA", 5)] => BAAAAAAA
10 [("ABCDE", 19), ("ACEBD", 18), ("ABEDC", 17), ("BCEDA", 16), ("EBDAC", 15), ("BACD", 14), ("CADB", 13), ("ABDC", 12), ("CABD", 11), ("EBDC", 10), ("ACE", 9), ("CBA", 8), ("AEC", 7), ("BE", 6), ("AE", 5), ("DC", 4), ("BA", 3), ("A", 2), ("D", 1)]
=> ACEBDACEBD
यह एक कोड-गोल्फ है , इसलिए अपनी पसंदीदा भाषा में अपना सबसे छोटा उत्तर तैयार करें!
DEFटपल एक अल्पविराम लापता