अन्य उत्तरों को जोड़ना: एक द्वि-आयामी सरणी बनाना केवल कोड को जटिल करता है।
आपको बस नियमित शतरंज बोर्ड के लिए आकार 8 के वेक्टर की आवश्यकता है। या 8 + 1 अगर सी 1 पद की तरह 0 है, केवल कोड को सरल बनाने के लिए, और 1-8 से निपटना है और 4-7 नहीं।
यदि आप एक्स के बारे में सोचते हैं कि यह एरे में आपकी स्थिति है, और वाई स्थिति की सामग्री है। उदा बोर्ड [1] = 8 का अर्थ है पहली रानी [1,8] पर है।
इस तरह, आपको केवल कॉलम सत्यापन के लिए जांचना होगा।
संकाय समय में, मैं डार्टमाउथ बेसिक में कार्यान्वित एल्गोरिदम के बारे में एक बहुत पुरानी पुस्तक (60 के दशक में) आया, जिसने कम स्मृति संभव का उपयोग करके 8 रानी समस्या को लागू किया (जो पुराना है, यह समझ में आता है)।
जहाँ तक मुझे याद है, इसने सदिश विचार का उपयोग किया था, और इसने अनिवार्य रूप से बोर्ड में सभी पदों के लिए दो चक्रों के साथ मजबूर किया। स्थिति की वैधता के लिए जाँच करने के लिए, इसने तीसरे लूप का उपयोग किया, प्रत्येक स्थिति में एक WHILE चक्र वेक्टर में वापस जाता है, और समान संख्या के लिए, या विकर्ण के लिए जाँच करने के लिए एक स्पर्शरेखा ऑपरेशन का उपयोग करके सूत्र के लिए जाँच करता है।
अफसोस की बात है, मैंने उस किताब का ट्रैक खो दिया ...
कहा एल्गोरिथ्म में एन-क्वीन समस्या के लिए सभी समाधान पाए गए।