यह काउंट सरणियों के लिए एक अनुवर्ती है जो अद्वितीय सेट बनाते हैं । महत्वपूर्ण अंतर विशिष्टता की परिभाषा है।
A
लंबाई की एक सरणी पर विचार करें n
। सरणी में केवल धनात्मक पूर्णांक होते हैं। उदाहरण के लिए A = (1,1,2,2)
। आइए हम f(A)
सभी गैर-रिक्त सन्निधियों के योगों के समूह के रूप में परिभाषित करते हैं A
। इस मामले में f(A) = {1,2,3,4,5,6}
। उत्पादन के चरण f(A)
इस प्रकार हैं:
की अधीनताएँ A
हैं (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2)
। उनके संबंधित योग हैं 1,1,2,2,2,3,4,4,5,6
। इस सूची से आपको जो सेट मिलता है, वह है {1,2,3,4,5,6}
।
किसी सरणी को हम A
यूनिक कहते हैं, यदि B
समान लंबाई का कोई दूसरा एरे न हो f(A) = f(B)
, तो एरे को A
उल्टा करने के अलावा। एक उदाहरण के रूप में, f((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}
लेकिन लंबाई का कोई अन्य सरणी नहीं है 3
जो समान सेट का उत्पादन करता है।
कार्य
कार्य, दिए गए n
और s
उस लंबाई के अद्वितीय सरणियों की संख्या की गणना करना है। आप मान सकते हैं कि s
बीच में है 1
और 9
। आपको केवल एरे की गणना करने की आवश्यकता है जहां तत्व या तो दिए गए पूर्णांक हैं s
या s+1
। उदाहरण के लिए, यदि s=1
आप जो गिनती कर रहे हैं, उसमें केवल शामिल हैं 1
और 2
। हालांकि, विशिष्टता की परिभाषा समान लंबाई के किसी भी अन्य सरणी के संबंध में है। एक ठोस उदाहरण के रूप में [1, 2, 2, 2]
है नहीं के रूप में यह रूप में रकम का एक ही सेट देता है अद्वितीय [1, 1, 2, 3]
।
आपको एक सरणी के साथ-साथ सरणी को भी उल्टा गिनना चाहिए (जब तक कि सरणी निश्चित रूप से एक palindrome नहीं है)।
उदाहरण
s = 1
n = 2,3,4,5,6,7,8,9 के उत्तर हैं:
4, 3, 3, 4, 4, 5, 5, 6
के लिए s = 1
, लंबाई 4 की अनूठी सरणियाँ हैं
(1, 1, 1, 1)
(2, 1, 1, 2)
(2, 2, 2, 2)
s = 2
n = 2,3,4,5,6,7,8,9 के उत्तर हैं:
4, 8, 16, 32, 46, 69, 121, 177
सरणी का एक उदाहरण जो अद्वितीय नहीं है, s = 2
वह है:
(3, 2, 2, 3, 3, 3).
यह दोनों के रूप में रकम का एक ही सेट है: (3, 2, 2, 2, 4, 3)
और (3, 2, 2, 4, 2, 3)
।
s = 8
n = 2,3,4,5,6,7,8,9 के उत्तर हैं:
4, 8, 16, 32, 64, 120, 244, 472
स्कोर
किसी दिए गए के लिए n
, अपने कोड के सभी मानों के लिए उत्पादन में उत्तर देना चाहिए s
से 1
करने के लिए 9
। आपका स्कोर उच्चतम मूल्य है n
जिसके लिए यह एक मिनट में पूरा होता है।
परिक्षण
मुझे अपने कोड को मेरे ubuntu मशीन पर चलाने की आवश्यकता होगी ताकि कृपया अपने कोड को संकलित करने और चलाने के लिए यथासंभव विस्तृत निर्देश शामिल करें।
लीडरबोर्ड
- n = 13 हास्केल में क्रिश्चियन सिवर्स द्वारा (42 सेकंड)
s
? यह क्या दिखाता है?