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

पायथन में शतरंज के बोर्ड पर नाइट के k चालों के बाद अंदर रहने की प्रतिशत संभावना खोजने का प्रोग्राम


मान लीजिए हमारे पास चार मान n, x, y, k हैं। यहां n एक n x n शतरंज बोर्ड दर्शाता है और x, y निर्देशांक एक नाइट की प्रारंभिक स्थिति दर्शाते हैं। नाइट को ठीक k चालें चलनी हैं, जहां प्रत्येक चाल में वह 8 दिशाओं में से किसी एक में समान रूप से यादृच्छिक चल सकता है। हमें प्रतिशत संभावना (निकटतम पूर्णांक) ढूंढनी है कि नाइट k चालें लेने के बाद शतरंज बोर्ड के अंदर रहता है। शर्त है कि एक बार बोर्ड छोड़ने के बाद वह दोबारा प्रवेश नहीं कर सकता।

उदाहरण के लिए, यदि इनपुट n=8, (x=0,y=0), k=1 है, तो आउटपुट 50 होगा, क्योंकि 8x8 बोर्ड पर नाइट (1,1) पर है। एक चाल में वह 8 में से 4 स्थितियों पर बोर्ड के अंदर रहेगा, और बाकी बाहर। तो 50%।

पायथन में शतरंज के बोर्ड पर नाइट के k चालों के बाद अंदर रहने की प्रतिशत संभावना खोजने का प्रोग्राम

समाधान दृष्टिकोण

इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे (रिकर्सन + प्रायिकता):

  • चालों की सूची: [(1,2),(1,-2),(-1,2),(-1,-2),(2,1),(2,-1),(-2,1),(-2,-1)]
  • फंक्शन dfs(x, y, k):
    • यदि (x,y) बोर्ड के बाहर: 0 लौटाएं
    • यदि k==0: 1 लौटाएं
    • सभी चालों के लिए dfs(x+dx, y+dy, k-1)/8 का योग लौटाएं
  • मुख्य से: round(dfs(x,y,k)*100) लौटाएं

उदाहरण कोड

moves = [(1,2),(1,-2),(-1,2),(-1,-2),(2,1),(2,-1),(-2,1),(-2,-1)]

class Solution:
    def solve(self, n, x, y, k):
        def dfs(x, y, k):
            if x < 0 or y < 0 or x >= n or y >= n:
                return 0
            if k == 0:
                return 1
            return sum(dfs(x+dx, y+dy, k-1)/8 for dx, dy in moves)
        return int(dfs(x, y, k) * 100)

ob = Solution()
n = 8
x = 1
y = 1
k = 1
print(ob.solve(n, x, y, k))

इनपुट

8, 1, 1, 1

आउटपुट

0

  1. बाइनरी ट्री को रंगने की संभावना जांचने का पायथन प्रोग्राम जहां कोई आसन्न नोड्स समान रंग के न हों बाइनरी ट्री को रंगने की संभावना जांचने का पायथन प्रोग्राम जहां कोई आसन्न नोड्स समान रंग के न हों

    मान लीजिए हमारे पास एक बाइनरी ट्री है जहां प्रत्येक नोड का मान उसका रंग दर्शाता है। एक ट्री में अधिकतम 2 रंग होते हैं। हमें जांचना है कि क्या नोड्स के रंगों को किसी भी संख्या में स्वैप करके ऐसा करना संभव है कि कोई दो जुड़े हुए नोड्स का रंग समान न हो। उदाहरण के लिए, यदि इनपुट इस तरह है: तो आउटपुट T

  1. पायथन में शतरंज के बोर्ड पर नाइट के k चालों के बाद अंदर रहने की प्रतिशत संभावना खोजने का प्रोग्राम पायथन में शतरंज के बोर्ड पर नाइट के k चालों के बाद अंदर रहने की प्रतिशत संभावना खोजने का प्रोग्राम

    मान लीजिए हमारे पास चार मान n, x, y, k हैं। यहां n एक n x n शतरंज बोर्ड दर्शाता है और x, y निर्देशांक एक नाइट की प्रारंभिक स्थिति दर्शाते हैं। नाइट को ठीक k चालें चलनी हैं, जहां प्रत्येक चाल में वह 8 दिशाओं में से किसी एक में समान रूप से यादृच्छिक चल सकता है। हमें प्रतिशत संभावना (निकटतम पूर्णांक) ढ

  1. पायथन में जांचें कि रोबोट लक्ष्य स्थिति तक पहुंच सकता है या नहीं पायथन में जांचें कि रोबोट लक्ष्य स्थिति तक पहुंच सकता है या नहीं

    मान लीजिए हमारे पास एक रोबोट है, जो वर्तमान में स्थिति (0, 0) (कार्टेशियन प्लेन) पर बैठा है। यदि हमारे पास उसकी चालों की सूची है जो वह चल सकता है, जिसमें N(उत्तर), S(दक्षिण), W(पश्चिम), और E(पूर्व) हैं। हमें जांचना है कि क्या वह गंतव्य निर्देशांक (x, y) पर पहुंच सकता है। उदाहरण के लिए, यदि इनपुट mov