एक 8x8 शतरंज को दो अलग-अलग मूल्यों से दर्शाया जाता है, जिसमें एक मान एक खाली वर्ग और दूसरा एक रानी होता है। निम्नलिखित उदाहरणों में, मैं 0s को खाली वर्ग के रूप में और 1s को रानियों के रूप में उपयोग करता हूं। उदाहरण के लिए:
द्वारा दिया गया है
1 0 1 1 1 0 0 0
1 0 1 0 1 0 1 1
1 0 1 0 1 1 0 1
0 1 0 1 0 1 0 0
0 1 1 0 0 1 0 1
1 0 0 0 1 0 0 0
0 1 0 0 0 1 1 1
0 1 1 1 0 1 0 1
उन रानियों के जोड़े की संख्या पर विचार करें जो प्रत्येक पर हमला कर रहे हैं जो कम से कम एक वर्ग की दूरी पर हैं (एक अनुस्मारक के रूप में, क्वीन्स orthogonally और तिरछे हमले करते हैं)। उपरोक्त उदाहरण में, निम्नलिखित अविश्वसनीय बदसूरत आरेख इन सभी जोड़े को तीर के रूप में दिखाता है।
निम्नलिखित परीक्षण मामले देने के ऊपर 43 जोड़े पाए गए हैं:
Input:
1 0 1 1 1 0 0 0
1 0 1 0 1 0 1 1
1 0 1 0 1 1 0 1
0 1 0 1 0 1 0 0
0 1 1 0 0 1 0 1
1 0 0 0 1 0 0 0
0 1 0 0 0 1 1 1
0 1 1 1 0 1 0 1
Output: 43
चुनौती
एक ऐसा प्रोग्राम लिखिए, जिसे दो अलग-अलग मूल्यों द्वारा दर्शाया गया एक बोर्ड राज्य दिया गया हो, उन रानियों के जोड़े की संख्या को आउटपुट करता है जो उनके बीच में कम से कम एक वर्ग के साथ एक दूसरे पर हमला करते हैं।
- जो भी प्रारूप सबसे सुविधाजनक है उसमें आप इनपुट कर सकते हैं जो खाली वर्गों और रानियों का प्रतिनिधित्व करने के लिए दो मानों का उपयोग करता है, उदाहरण के लिए, 64 की एक स्ट्रिंग ""। बूलियंस का मैट्रिक्स, पूर्णांक 0 और 1 आदि की सूची, जब तक कि यह आपके समाधान में समझाया गया है
- आउटपुट एक पूर्णांक है
- मानक I / O विधियां लागू होती हैं और मानक खामियों को मना किया जाता है
- यह कोड गोल्फ है इसलिए बाइट्स जीत में सबसे छोटा जवाब है
परीक्षण के मामलों:
0 और 1 प्रारूप का उपयोग करना, 0 के साथ खाली वर्ग और 1 की कतारें हैं:
Input:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Output: 0
Input:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Output: 0
Input:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Output: 1
Input:
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 1 0 0 0 0 1 0
0 0 0 0 1 0 1 0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 1 0
0 0 0 0 0 0 0 0
Output: 10
Input:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Output: 4
Input:
1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Output: 11