परिचय
कम से कम बाइट्स का उपयोग करते हुए हिटोरी पहेली के लिए एक सॉल्वर लिखें ।
चुनौती
आपके कार्य को होटोरि (と り the, जापानी में "अकेले" के लिए शब्द के लिए एक सॉल्वर लिखा जाता है; खेल के नाम का अर्थ "मुझे अकेला छोड़ दें") तार्किक पहेलियाँ हैं। नियम इस प्रकार हैं:
- आपको कोशिकाओं के एन-बाय-एन ग्रिड के साथ प्रस्तुत किया जाता है, प्रत्येक सेल में 1 और एन (समावेशी) के बीच एक पूर्णांक होता है।
- आपका लक्ष्य यह सुनिश्चित करना है कि प्रत्येक पंक्ति में और ग्रिड के प्रत्येक कॉलम में एक से अधिक बार कोई संख्या दिखाई नहीं देती है, दिए गए ग्रिड से संख्याओं को हटाकर, अगले दो नियमों में इंगित प्रतिबंध के अधीन है,
- आप दो आसन्न (क्षैतिज या लंबवत) कक्षों से दो संख्याएँ नहीं निकाल सकते।
- शेष संख्या वाली कोशिकाएं सभी एक दूसरे से जुड़ी होनी चाहिए। इसका मतलब यह है कि किसी भी दो शेष संख्या कोशिकाओं को एक वक्र के साथ जोड़ा जा सकता है जो केवल शेष खंडों (क्षैतिज या लंबवत) को जोड़ने वाले खंडों से बना है। (यह याद करने के लिए @ user202729 का धन्यवाद कि यह गायब है)
मुझे उम्मीद है कि नियम अब तक स्पष्ट हैं। यदि नियमों के बारे में कुछ भी स्पष्ट नहीं है, तो विकिपीडिया पृष्ठ देखें ।
परीक्षण के मामलों
वे सेल जिनमें से नंबर हटाए गए हैं, उन्हें 0s के साथ दर्शाया जाता है।
Input -> Output
4
2 2 2 4 0 2 0 4
1 4 2 3 -> 1 4 2 3
2 3 2 1 2 3 0 1
3 4 1 2 3 0 1 2
4
4 2 4 3 0 2 4 3
4 1 1 2 -> 4 1 0 2
3 1 2 1 3 0 2 1
4 3 1 3 0 3 1 0
5
1 5 3 1 2 1 5 3 0 2
5 4 1 3 4 5 0 1 3 4
3 4 3 1 5 -> 3 4 0 1 5
4 4 2 3 3 4 0 2 0 3
2 1 5 4 4 2 1 5 4 0
8
4 8 1 6 3 2 5 7 0 8 0 6 3 2 0 7
3 6 7 2 1 6 5 4 3 6 7 2 1 0 5 4
2 3 4 8 2 8 6 1 0 3 4 0 2 8 6 1
4 1 6 5 7 7 3 5 -> 4 1 0 5 7 0 3 0
7 2 3 1 8 5 1 2 7 0 3 0 8 5 1 2
3 5 6 7 3 1 8 4 0 5 6 7 0 1 8 0
6 4 2 3 5 4 7 8 6 0 2 3 5 4 7 8
8 7 1 4 2 3 5 6 8 7 1 4 0 3 0 6
9
8 6 5 6 8 1 2 2 9 8 0 5 6 0 1 2 0 9
5 6 2 4 1 7 9 8 3 5 6 2 4 1 7 9 8 3
5 8 2 5 9 9 8 2 6 0 8 0 5 0 9 0 2 0
9 5 6 6 4 3 8 4 1 9 5 6 0 4 3 8 0 1
1 1 6 3 9 9 5 6 2 -> 0 1 0 3 9 0 5 6 2
1 1 4 7 3 8 3 8 6 1 0 4 7 0 8 3 0 6
3 7 4 1 2 6 4 5 5 3 7 0 1 2 6 4 5 0
3 3 1 9 8 7 7 4 5 0 3 1 9 8 0 7 4 5
2 9 7 5 3 5 9 1 3 2 9 7 0 3 5 0 1 0
ये परीक्षण मामलों से लिया जाता है अवधारणा है पहेलियाँ , PuzzleBooks , अवधारणा है पहेलियाँ , विकिपीडिया , और यूट्यूब , क्रमशः।
चश्मा
अपवाद हैंडलिंग के बारे में चिंता करने की कोई जरूरत नहीं है।
आप मान सकते हैं कि इनपुट हमेशा एक अद्वितीय समाधान के साथ एक मान्य पहेली है और आप अपना कोड लिखने में इसका लाभ उठा सकते हैं।
यह कोड-गोल्फ है , सबसे कम संख्या में बाइट्स जीतती हैं।
4 <= n <= 9 (मूल रूप से, स्टिव ग्रिफ़िन के सुझाव के बाद 9 को बदल दिया गया, IO में कुछ परेशानी से भी बचा)
आप इनपुट ले सकते हैं और किसी भी मानक फॉर्म के माध्यम से आउटपुट प्रदान कर सकते हैं , और आप प्रारूप चुनने के लिए स्वतंत्र हैं।
आउटपुट स्वरूप के लिए कुछ सुझाव हैं (लेकिन आप इन तक सीमित नहीं हैं)
- अंतिम ग्रिड का आउटपुट
- सभी हटाए गए नंबरों वाले ग्रिड को आउटपुट करना
- उपरोक्त में से किसी एक के निर्देशांक की सूची को आउटपुट करें
हमेशा की तरह, डिफ़ॉल्ट कमियां यहां लागू होती हैं।
संबंधित (इस चुनौती से प्रेरित): जांचें कि क्या सभी तत्व एक मैट्रिक्स में जुड़े हुए हैं
मेरी आखिरी चुनौती: सेवन्स के खेल का विस्तार
4 <= n <= 16
, लेकिन सबसे बड़ा परीक्षण मामले के लिए हैn=9
। मेरा सुझाव है कि आप या तो एकn=16
परीक्षण मामला पोस्ट करें , या कहें4 <= n <= 9
। रास्ते से अच्छी चुनौती :)