पृष्ठभूमि
एक डेवनपोर्ट-Schinzel अनुक्रम दो सकारात्मक पूर्णांक पैरामीटर d
और n
। हम दिए गए मापदंडों के लिए सभी डेवनपोर्ट-सिनचिज़ल दृश्यों के सेट को निरूपित करेंगे DS(d,n)
।
सम्मिलित 1
करने के लिए प्राकृतिक संख्याओं के सभी अनुक्रमों पर विचार करें n
, जो संतुष्ट हैं:
- अनुक्रम में कोई दो लगातार संख्याएं समान नहीं हैं।
- इससे अधिक लंबाई की कोई परवर्ती (जरूरी नहीं कि लगातार) हो
d
, जो दो अलग-अलग संख्याओं के बीच वैकल्पिक हो।
आइए L
ऐसे अनुक्रम की अधिकतम लंबाई को निरूपित करें (दिया d
और n
)। फिर, DS(d,n)
लंबाई के साथ इस तरह के सभी दृश्यों का सेट है L
।
कुछ उदाहरण मदद कर सकते हैं। चलो d = 4
, n = 3
। इन बाधाओं के साथ सबसे लंबे समय तक संभव अनुक्रम हैं L = 8
। तो निम्नलिखित में से एक सदस्य है DS(4,3)
:
[1, 2, 1, 3, 1, 3, 2, 3]
कोई समान संख्या नहीं हैं और लंबाई के वैकल्पिक विकल्प हैं 4
, लेकिन अब नहीं हैं:
1 2 1 2
1 2 1 2
1 3 1 3
1 3 1 3
2 3 2 3
2 3 2 3
1 3 1 3
1 3 1 3
निम्नलिखित उदाहरण में नहीं हैं DS(4,3)
:
[1, 2, 2, 3, 1, 3, 2, 3] # Two consecutive 2's.
[1, 2, 1, 3, 1, 3, 2, 1] # Contains alternating subsequences of length 5.
[1, 2, 1, 3, 1, 3, 2] # Longer valid sequences for d = 4, n = 3 exist.
अधिक जानकारी के लिए MathWorld और OEIS और उनके द्वारा सूचीबद्ध संदर्भ देखें।
चुनौती
दो सकारात्मक पूर्णांकों को देखते हुए, n
और d
, किसी भी डेवनपोर्ट-सिनचिज़ेल अनुक्रम को उत्पन्न करते हैं DS(d,n)
। ध्यान दें कि ये आम तौर पर अद्वितीय नहीं हैं, इसलिए किसी भी एकल परिणाम को आउटपुट करें।
आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट लेते हुए, या फ़ंक्शन से परिणाम लौटा सकते हैं या इसे STDOUT (या निकटतम विकल्प) में लिख सकते हैं।
आप आउटपुट के लिए किसी भी सुविधाजनक, अस्पष्ट स्ट्रिंग या सूची प्रारूप का उपयोग कर सकते हैं।
यह कोड गोल्फ है, इसलिए सबसे छोटा सबमिशन (बाइट्स में) जीतता है।
अनुक्रम लंबाई
चूंकि अनुक्रम अद्वितीय नहीं हैं, इसलिए इस चुनौती में व्यक्तिगत उदाहरणों के लिए बहुत उपयोग नहीं है। हालांकि, दो सामान्य वैधता समस्याएं किसी भी आउटपुट के लिए जांचना काफी आसान है, इसलिए मुख्य सवाल यह है कि क्या अनुक्रम की लंबाई सही है (या अब एक वैध अनुक्रम है)। इसलिए, यहाँ दिए गए 1 के L
लिए एक सूची है d
और n
:
\
d\n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
\-----------------------------------------------------------
1 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3 | 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
4 | 1 4 8 12 17 22 27 32 37 42 47 53 58 64 69 75 81 86 92 98
5 | 1 5 10 16 22 29 ...
6 | 1 6 14 23 34 ...
7 | 1 7 16 28 41 ...
8 | 1 8 20 35 53 ...
9 | 1 9 22 40 61 ...
10 | 1 10 26 47 73 ...
आपको इस तालिका की किसी भी जानकारी को अपने सबमिशन में हार्डकोड नहीं करना चाहिए।
1 यह तालिका 1994 से है, इसलिए तब से और अधिक प्रगति हो सकती है, लेकिन मुझे संदेह है कि कोई भी जमा समय की उचित मात्रा में इस तालिका में भी बड़ी प्रविष्टियों को संभालने में सक्षम होगा।