Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में नाइट्स का हमला


मान लीजिए हमारे पास एक दो-आयामी बाइनरी मैट्रिक्स है, जो एक आयताकार शतरंज बोर्ड को दर्शाता है, यहां 0 खाली सेल के लिए है और 1 नाइट के लिए है। नाइट दो वर्ग क्षैतिज रूप से और एक वर्ग लंबवत, या दो वर्ग लंबवत और एक वर्ग क्षैतिज रूप से चलने में सक्षम है (शतरंज बोर्ड के नाइट की तरह)। हमें जांचना है कि क्या कोई दो नाइट एक-दूसरे पर हमला कर रहे हैं या नहीं।

उदाहरण के लिए, यदि इनपुट है:

00000
01000
00010

तो आउटपुट होगा True।

हल करने के चरण

  • row, col := मैट्रिक्स की पंक्ति संख्या, स्तंभ संख्या।
  • r को 0 से row-1 तक:
    • c को 0 से col-1 तक:
      • यदि A[r][c] शून्येतर है, तो:
        • प्रत्येक nr, nc के लिए [(r+1, c-2), (r+1, c+2), (r+2, c-1), (r+2, c+1)] में:
          • यदि nr पंक्ति की सीमा में है और nc स्तंभ की सीमा में है और A[nr][nc] शून्येतर है, तो True लौटाएं।
  • False लौटाएं।

उदाहरण

class Solution:
    def solve(self, A):
        row, col = len(A), len(A[0])
        for r in range(row):
            for c in range(col):
                if A[r][c]:
                    for nr, nc in ((r+1, c-2), (r+1, c+2), (r+2, c-1), (r+2, c+1)):
                        if 0 <= nr < row and 0 <= nc < col and A[nr][nc]:
                            return True
        return False

ob = Solution()
mat = [[0,0,0,0,0], [0,1,0,0,0], [0,0,0,1,0]]
print(ob.solve(mat))

इनपुट

[[0,0,0,0,0], [0,1,0,0,0], [0,0,0,1,0]]

आउटपुट

True
  1. पायथन में जांचें कि शतरंज बोर्ड पर क्वीन दिए गए सेल पर हमला कर सकती है या नहीं पायथन में जांचें कि शतरंज बोर्ड पर क्वीन दिए गए सेल पर हमला कर सकती है या नहीं

    मान लीजिए हमारे पास शतरंज बोर्ड पर क्वीन और प्रतिद्वंद्वी के लिए दो निर्देशांक हैं। ये बिंदु Q और O हैं। हमें यह जांचना है कि क्या क्वीन प्रतिद्वंद्वी पर हमला कर सकती है या नहीं। जैसा कि हम जानते हैं, क्वीन उसी पंक्ति, उसी स्तंभ और विकर्ण में हमला कर सकती है। उदाहरण के लिए, यदि इनपुट Q = (1, 1), O

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. - पायथन में क्वाइन (Quine)

    क्वाइन एक प्रोग्राम है, जो कोई इनपुट नहीं लेता, लेकिन यह आउटपुट उत्पन्न करता है। यह अपना स्वयं का सोर्स कोड दिखाएगा। इसके अतिरिक्त, क्वाइन की कुछ शर्तें हैं। हम प्रोग्राम के अंदर सोर्स कोड फ़ाइल नहीं खोल सकते। उदाहरण कोड a=a=%r;print (a%%a);print (a%a) आउटपुट a=a=%r;print (a%%a);print (a%a) यह क्व