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

पायथन में एक शतरंज नाइट द्वारा लक्ष्य की स्थिति तक पहुंचने के लिए न्यूनतम कदम खोजने का कार्यक्रम

मान लीजिए हमारे पास दो मान r और c हैं। यदि एक शतरंज के शूरवीर को एक असीम रूप से बड़े शतरंज बोर्ड में शुरुआत में निर्देशांक (0, 0) पर रखा जाता है, तो हमें स्थान (आर, सी) तक पहुंचने के लिए न्यूनतम चालों की संख्या का पता लगाना होगा। शूरवीर शतरंज के समान गतिमान शैली का अनुसरण करेगा। यह क्षैतिज रूप से दो वर्ग दूर और एक वर्ग लंबवत, या दो वर्ग लंबवत और एक वर्ग क्षैतिज रूप से चलता है।

इसलिए, यदि इनपुट r =6, c =1 जैसा है, तो आउटपुट 3 होगा, लाल प्रारंभिक स्थिति है, हरा अंतिम है और पीला मध्यवर्ती चरण है।

पायथन में एक शतरंज नाइट द्वारा लक्ष्य की स्थिति तक पहुंचने के लिए न्यूनतम कदम खोजने का कार्यक्रम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • यदि आर <सी, तो
    • आर और सी स्वैप करें
  • अगर (आर, सी) (1, 0) के समान है, तो
    • वापस 3
  • अगर (आर, सी) (2, 2) के समान है, तो
    • वापस 4
  • डेल्टा:=r - c
  • अगर c> डेल्टा, तो
    • रिटर्न डेल्टा - 2 *((डेल्टा - c) / 3) का भागफल
  • अन्यथा,
    • रिटर्न डेल्टा - 2 *((डेल्टा - c) / 4) का भागफल

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class Solution:
   def solve(self, r, c):
      if r < c:
         r, c = c, r
      if (r, c) == (1, 0):
         return 3
      if (r, c) == (2, 2):
         return 4
      delta = r - c
      if c > delta:
         return delta - 2 * ((delta - c) // 3)
      else:
         return delta - 2 * ((delta - c) // 4)
ob = Solution()
r = 6
c = 1
print(ob.solve(r, c))

इनपुट

6, 1

आउटपुट

3

  1. पायथन में हर स्थिति तक पहुंचने के लिए शतरंज के टुकड़े के लिए न्यूनतम चालों का पता लगाने का कार्यक्रम

    मान लीजिए, हमारे पास एक शतरंज की बिसात और एक विशेष नाइट पीस K है, जो बोर्ड के भीतर L आकार में चलता है। यदि टुकड़ा स्थिति (x1, y1) में है और यदि यह (x2, y2) पर जाता है तो आंदोलन को x2 =x1 ± a के रूप में वर्णित किया जा सकता है; y2 =y1 ± b या x2 =x1 ± b; y2 =y1 ± ए; जहाँ a और b पूर्णांक संख्याएँ हैं। ह

  1. पायथन का उपयोग करके सभी नोड्स तक पहुंचने के लिए न्यूनतम संख्या में कोने खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक निर्देशित चक्रीय ग्राफ है, जिसमें n कोने हैं और नोड्स 0 से n-1 तक गिने जाते हैं, ग्राफ को किनारे की सूची द्वारा दर्शाया जाता है, जहां किनारों [i] =(यू, वी) नोड यू से एक निर्देशित किनारे का प्रतिनिधित्व करता है। नोड वी। हमें शिखर का सबसे छोटा सेट ढूंढना है जिससे ग्राफ में सभ

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

    मान लीजिए हमारे पास एक रोबोट है, जो वर्तमान में (0, 0) (कार्तीय तल) पर बैठा है। यदि हमारे पास एन (उत्तर), एस (दक्षिण), डब्ल्यू (पश्चिम), और ई (पूर्व) युक्त इसकी चालों की सूची है। हमें यह जांचना होगा कि क्या यह गंतव्य निर्देशांक (x, y) पर पहुंच सकता है। इसलिए, यदि इनपुट चाल =[एन, एन, ई, ई, एस], (एक्