Module: डायनेमिक प्रोग्रामिंग में पैटर्न - 2


Problem

5 /5


क्रमपरिवर्तन

Problem

n भिन्न प्राकृत संख्याओं के समुच्चय को देखते हुए। इस सेट के तत्वों के क्रमचय को k-क्रमपरिवर्तन कहा जाता है यदि इस क्रमचय के किन्हीं दो पड़ोसी तत्वों के लिए उनका सबसे बड़ा सामान्य भाजक कम से कम k है। उदाहरण के लिए, यदि तत्वों का समुच्चय S = {6, 3, 9, 8} दिया गया है, तो क्रमचय {8, 6, 3, 9} एक 2-क्रमचय है, और क्रमचय {6, 8, 3, 9} – नहीं।

क्रमचय {p1, p2, …, pn} शब्दावली की दृष्टि से क्रमपरिवर्तन {q1< से छोटा होगा /sub>, q2, …, qn} अगर कोई सकारात्मक पूर्णांक i (1 ≤ i ≤ n) मौजूद है जैसे कि pj = qj जब j < मैं और पी<उप>मैं < क्ष<उप>मैं

एक उदाहरण के रूप में, उपरोक्त सेट के सभी k-क्रमपरिवर्तनों को लेक्सिकोग्राफ़िक क्रम में व्यवस्थित करें। उदाहरण के लिए, S के ठीक चार 2-क्रमपरिवर्तन हैं: {3, 9, 6, 8}, {8, 6, 3, 9}, {8, 6, 9, 3}, और {9, 3, 6 , 8}। तदनुसार, लेक्सिकोग्राफिक क्रम में पहला 2-क्रमचय सेट {3, 9, 6, 8}, और चौथा - ndash; सेट {9, 3, 6, 8}।

आपको एक प्रोग्राम लिखने की आवश्यकता है जो आपको इस क्रम में m-वें k-क्रमपरिवर्तन खोजने की अनुमति देता है।

इनपुट
पहली पंक्ति में इनपुट फ़ाइल में तीन प्राकृत संख्याएं होती हैं – n (1 ≤ n ≤ 16), m और k (1 ≤ m, k ≤ 109)। दूसरी पंक्ति में विशिष्ट प्राकृतिक संख्याएँ हैं जो 109 से अधिक नहीं हैं। पंक्तियों में सभी संख्याएँ रिक्त स्थान द्वारा अलग की गई हैं।

छाप
दिए गए सेट के m-th k-क्रमचय को आउटपुट करना आवश्यक है या -1 यदि आउटपुट फ़ाइल में कोई नहीं है।
उदाहरण
<टेबल क्लास = "टेबल-एसएम टेबल-बॉर्डर टेबल-स्ट्राइप्ड टेबल-लिस्ट-टेस्ट"> <सिर> <थ वर्ग = "अंक"> # <वें>इनपुट <वें>आउटपुट <शरीर> 1 4 1 2
6 8 3 9 3 9 6 8 2 4 4 2
6 8 3 9 9 3 6 8 3 4 5 2
6 8 3 9 -1