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

पायथन में बहुभुज को उसकी प्रारंभिक स्थिति में रीसेट करने का कार्यक्रम

मान लीजिए, एक बहुभुज है जिसमें n शीर्ष, n फ़्लिपिंग अक्ष और n घूर्णन बिंदु हैं। फ़्लिपिंग कुल्हाड़ियों और घूर्णन बिंदुओं के लिए निम्नलिखित सत्य हैं

  • यदि n विषम है, तो प्रत्येक फ़्लिपिंग अक्ष केवल एक शीर्ष और विपरीत दिशा के मध्य से होकर गुजरता है।
  • यदि n सम है, तो कुल्हाड़ियों का आधा भाग विपरीत शीर्षों के युग्म से होकर गुजरता है और शेष आधा विपरीत भुजाओं के युग्म से होकर गुजरता है।
  • निम्नलिखित दो अक्षों का कोण 360/2n है।

अब, हम दिए गए बहुभुज को घुमाते हैं। हमारे पास n विभिन्न प्रकार के रोटेटर हैं, एक k-रोटेटर बहुभुज को अक्ष k दक्षिणावर्त (360 x k)/n डिग्री पर घुमाता है। एक सूची इनपुट सूची है जिसमें पूर्णांकों के कई जोड़े हैं। एक जोड़ी का पहला पूर्णांक दर्शाता है कि बहुभुज को घुमाया या घुमाया जाना है। यदि पहला पूर्णांक 1 है तो बहुभुज घुमाया जाता है, यदि यह 2 है तो बहुभुज फ़्लिप किया जाता है। दूसरा पूर्णांक k है, यदि बहुभुज को फ़्लिप किया जाता है तो इसे अक्ष k पर फ़्लिप किया जाता है या अन्यथा, यदि इसे घुमाया जाता है तो इसे 360/2n के कोण से घुमाया जाता है। सूची खाली न होने पर घुमाव और फ़्लिपिंग की जाती है।

यहां हमारा काम सूची में एक और तत्व जोड़ना है ताकि बहुभुज को उसकी प्रारंभिक स्थिति में रीसेट किया जा सके।

पायथन में बहुभुज को उसकी प्रारंभिक स्थिति में रीसेट करने का कार्यक्रम

छवि दो प्रकार के बहुभुजों के घूर्णन अक्षों को निर्दिष्ट करती है।

इसलिए, यदि इनपुट n =6, input_list =[[1, 2], [1, 4], [2, 3], [2, 5], [1, 6]] जैसा है, तो आउटपुट होगा (1, 4)

परिवर्तनों के बाद, चौथे अक्ष के साथ एक घुमाव बहुभुज को उसकी प्रारंभिक स्थिति में रीसेट कर देगा।

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

  • निर्णय_वार:=गलत
  • स्थिति:=0
  • इनपुट_सूची में प्रत्येक आइटम के लिए, करें
    • x:=आइटम [0]
    • y:=आइटम[1]
    • यदि x 1 के समान है, तो
      • स्थिति:=स्थिति + y
    • अन्यथा
      • स्थिति:=y - स्थिति
      • निर्णय_वार:=नहीं(निर्णय_वार)
  • स्थिति:=स्थिति मोड n
  • यदि निर्णय_वर शून्य नहीं है, तो
    • एक जोड़ी लौटाएं (2, स्थिति)
  • अन्यथा,
    • एक जोड़ी लौटाएं (1, n - स्थिति)

उदाहरण

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

def solve(n, input_list):
   decision_var = False
   position = 0

   for item in input_list:
      x = item[0]
      y = item[1]
      if x == 1:
         position += y
      else:
         position = y - position
         decision_var = not decision_var
   position = position % n

   if decision_var:
      return (2, position)
   else:
      return (1, n - position)

print(solve(6, [[1, 2], [1, 4], [2, 3], [2, 5], [1, 6]]))

इनपुट

6, [[1, 2], [1, 4], [2, 3], [2, 5], [1, 6]]

आउटपुट

(1, 4)

  1. पायथन में सेवा केंद्र के लिए सर्वोत्तम स्थान खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास पदों की एक सूची है, जिसमें समन्वय बिंदुओं की एक सूची है जहां कुछ घर स्थित हैं। यदि आप (xc, yc) पर एक सेवा केंद्र बनाना चाहते हैं, तो किसी दिए गए बिंदु से (xc, yc) तक यूक्लिडियन दूरी का योग न्यूनतम है। इसलिए हमें न्यूनतम दूरी का योग ज्ञात करना होगा। इसलिए, यदि इनपुट स्थिति की

  1. दिए गए बहुभुज के अंदर या सीमा में दिए गए बिंदु की जाँच करने के लिए कार्यक्रम या नहीं अजगर में

    मान लीजिए कि हमारे पास कार्तीय बिंदुओं की एक सूची है [(x1, y1), (x2, y2), ..., (xn, yn)], जो एक बहुभुज का प्रतिनिधित्व कर रहा है, और दो मान x और y भी हैं, हमें यह करना होगा जांचें कि क्या (x, y) इस बहुभुज के अंदर या सीमा पर स्थित है। इसलिए, यदि इनपुट अंक की तरह है =[(0, 0), (1, 3), (4, 4), (6, 2),

  1. HP लैपटॉप को उसकी डिफ़ॉल्ट स्थिति में फ़ैक्टरी रीसेट कैसे करें

    फ़ैक्टरी रीसेट को एक अच्छा समाधान माना जाता है जब आप जिद्दी समस्याओं का सामना कर रहे हों, जब आप अपना कंप्यूटर दे रहे हों, या जब आप इसे बेच रहे हों। सूची जारी है और यहां इस लेख में, हम आपको दो सरल तरीके दिखाएंगे जिनके द्वारा आप रीसेट कर सकते हैं। रीसेट प्रक्रिया आपके कंप्यूटर पर सभी उपयोगकर्ता सेटिं