(60+ प्रश्नों के बावजूद शतरंज को टैग करने पर , हमारे पास एक सरल n-queens चुनौती नहीं है।)
शतरंज में, एन-क्वींस पहेली को निम्नानुसार वर्णित किया गया है: एक n x n
शतरंज की बिसात और n
रानियों को देखते हुए, बिसात को बिसात पर व्यवस्थित करें ताकि कोई भी दो रानियां एक-दूसरे को धमकी न दें। नीचे n = 8
विकिपीडिया से उधार लिया गया एक उदाहरण समाधान है ।
या, ASCII प्रतिपादन में:
xxxQxxxx
xxxxxxQx
xxQxxxxx
xxxxxxxQ
xQxxxxxx
xxxxQxxx
Qxxxxxxx
xxxxxQxx
यहाँ चुनौती इनपुट n
और आउटपुट के लिए एक समाधान के ASCII प्रतिनिधित्व- n
क्यू पहेली के लिए होगी। चूंकि एक से अधिक संभावित समाधान हैं (उदाहरण के लिए, कम से कम, एक रोटेशन या प्रतिबिंब), आपके कोड को केवल किसी भी वैध समाधान का उत्पादन करने की आवश्यकता है।
इनपुट
एक एकल सकारात्मक पूर्णांक n
के साथ n >= 4
किसी भी सुविधाजनक प्रारूप में । (n = 2 और n = 3 का कोई हल नहीं है, और n = 1 तुच्छ है, इसलिए उन्हें बाहर रखा गया है)
उत्पादन
एन-क्वेंस पहेली के समाधान के परिणामस्वरूप ASCII का प्रतिनिधित्व, जैसा कि ऊपर उल्लिखित है। रिक्त स्थानों और रानियों का प्रतिनिधित्व करने के लिए आप कोई भी दो अलग ASCII मान चुन सकते हैं। फिर से, यह किसी भी उपयुक्त प्रारूप (एकल स्ट्रिंग, तार की एक सूची, एक चरित्र सरणी, आदि) में आउटपुट हो सकता है।
नियम
- लीडिंग या अनुगामी newlines या व्हाट्सएप सभी वैकल्पिक हैं, साथ ही वर्णों के बीच व्हाट्सएप, इसलिए जब तक वर्ण खुद सही ढंग से पंक्तिबद्ध न हो जाएं।
- आप संभावित पदों की गणना के लिए या तो एल्गोरिथ्म का उपयोग कर सकते हैं, या समाधान की स्पष्ट "सीढ़ी-चरण" शैली का उपयोग कर सकते हैं, जो भी आपके कोड के लिए गोल्फर है।
- या तो एक पूर्ण कार्यक्रम या एक समारोह स्वीकार्य हैं। यदि कोई फ़ंक्शन है, तो आप इसे प्रिंट करने के बजाय आउटपुट वापस कर सकते हैं।
- यदि संभव हो, तो कृपया ऑनलाइन परीक्षण वातावरण का लिंक शामिल करें ताकि अन्य लोग आपके कोड को आज़मा सकें!
- मानक कमियां को मना किया जाता है।
- यह कोड-गोल्फ है इसलिए सभी सामान्य गोल्फिंग नियम लागू होते हैं, और सबसे छोटा कोड (बाइट्स में) जीतता है।
उदाहरण
n=4
xQxx
xxxQ
Qxxx
xxQx
n=7
xxQxxxx
xxxxxxQ
xQxxxxx
xxxQxxx
xxxxxQx
Qxxxxxx
xxxxQxx
n=10
xxxxQxxxxx
xxxxxxxxxQ
xxxQxxxxxx
xxxxxxxxQx
xxQxxxxxxx
xxxxxxxQxx
xQxxxxxxxx
xxxxxxQxxx
Qxxxxxxxxx
xxxxxQxxxx