एक सुडोकू समाधान बनाएँ
यहां सुडोकू सॉल्वर्स के oodles हैं, लेकिन मैं चाहता हूं कि आप मानवीय रूप से संभव (कोड-गोल्फ) के रूप में एक समाधान CHECKER बनाएं।
एक वैध प्रविष्टि या तो एक तर्क के रूप में 9x9 सरणी लेने में सक्षम होगी (संदर्भ द्वारा पारित, कमांड लाइन पर क्रमबद्ध, या फिर भी आप इसे लेना चाहते हैं) या एक इनपुट फ़ाइल को स्वीकार करें जो अंतिम ग्रिड के लिए नौ संख्याओं की नौ लाइनें है। । नीचे इनपुट के उदाहरण देखें।
मान्य इनपुट बेस -10 नंबर (1-9) होना चाहिए
अनुपलब्ध, खाली, अतिरिक्त, गैर-संख्यात्मक स्थिति या 1-9 से बाहर की संख्या वाले पदों को गैर-शून्य परिणाम वापस करके अमान्य इनपुट के रूप में खारिज कर दिया जाना चाहिए, एक त्रुटि, या दोनों को मुद्रित करना।
आपके कार्यक्रम को यह जांचने की आवश्यकता है कि क्या प्रत्येक संख्या प्रति कॉलम एक बार, प्रति पंक्ति एक बार और 3x3 उप-ग्रिड के अनुसार दिखाई देती है। यदि यह गुजरता है, तो "0" लौटाएं और यदि नहीं, तो एक गैर-शून्य परिणाम लौटाएं।
बाहरी संसाधनों (वेबसाइटों आदि) के उपयोग से बचना है।
यदि आपका समाधान एक स्टैंड-अलोन प्रोग्राम है, जो क्रमशः "पास" या "फेल" के लिए, "0" या गैर-शून्य की निकास स्थिति के साथ बाहर निकलता है, तो ठीक है।
सबसे छोटी उत्तर जीत दें!
इनपुट उदाहरण:
सी सरणी:
int input[9][9]={{1,2,3,4,5,6,7,8,9},
{4,5,6,7,8,9,1,2,3},
{7,8,9,1,2,3,4,5,6},
{2,3,1,5,6,4,8,9,7},
{5,6,4,8,9,7,2,3,1},
{8,9,7,2,3,1,5,6,4},
{3,1,2,6,4,5,9,7,8},
{6,4,5,9,7,8,3,1,2},
{9,7,8,3,1,2,6,4,5}
};
फ़ाइल:
123456789
456789123
789123456
231564897
564897231
897231564
312645978
645978312
978312645
9 उप-ग्रिड:
+---+---+---+
|123|456|789|
|456|789|123|
|789|123|456|
+---+---+---+
|231|564|897|
|564|897|231|
|897|231|564|
+---+---+---+
|312|645|978|
|645|978|312|
|978|312|645|
+---+---+---+
1
या-1