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

पायथन में जांचें कि कोई वर्ग (एक रंगीन सेल के साथ) दो बराबर भागों में विभाजित हो सकता है या नहीं


मान लीजिए हमें n आकार का एक वर्ग दिया गया है। n आकार का वर्ग आगे n² छोटे वर्गों में विभाजित है। छोटे वर्ग इकाई आकार के हैं और उनमें से एक वर्ग एक अद्वितीय रंग से रंगा गया है।

अब अगर हम बड़े वर्ग को दो बराबर भागों में काटते हैं, तो हमें इस तरह काटना होगा कि काटने वाली रेखा का उस विशिष्ट रंगीन छोटे वर्ग के साथ कोई बिंदु साझा न हो। हमें इस तथ्य पर भी विचार करना होगा कि नए कटे हुए दो टुकड़े एक-दूसरे के दर्पण चित्र हैं। तो, हमें दिए गए शर्तों के अनुसार इस तरह से वर्ग काटना संभव है या नहीं यह पता लगाना है। हमारे पास n का मान और बड़े वर्ग में रंगीन वर्ग की स्थिति है।

उदाहरण के लिए, यदि size = 50, colored_row_pos = 25, colored_col_pos = 25 है, तो आउटपुट "Cutting is not possible." होगा।

हल करने का तरीका

  1. middle := size // 2 का फ्लोर मान
  2. यदि (middle == colored_row_pos या middle == colored_row_pos - 1) और (middle == colored_col_pos या middle == colored_col_pos - 1), तो False लौटाएं
  3. अन्यथा True लौटाएं

रंगीन सेल ठीक केंद्र में नहीं होना चाहिए जहां काटने की रेखा गुजरती है।

उदाहरण

def solve(size, colored_row_pos, colored_col_pos):
    middle = size // 2
    if (middle == colored_row_pos or middle == colored_row_pos - 1) and \
       (middle == colored_col_pos or middle == colored_col_pos - 1):
        print("Cutting is not possible")
    else:
        print("Cutting is possible")

size = 50
colored_row_pos, colored_col_pos = 25, 25
solve(size, colored_row_pos, colored_col_pos)

इनपुट

50, 25, 25

आउटपुट

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

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

  1. - पायथन में उन योगों को खोजें जिनके लिए ऐरे को समान योग के उप-सरणियों में विभाजित किया जा सकता है

    मान लीजिए हमारे पास पूर्णांकों का एक ऐरे A है। हमें sum के सभी मान ढूंढने हैं ताकि किसी मान sum[i] के लिए ऐरे को उप-सरणियों में विभाजित किया जा सके जिनमें से प्रत्येक का योग sum[i] हो। यदि हम ऐरे को समान योग की उप-सरणियों में विभाजित नहीं कर सकते, तो -1 लौटाएं। इसलिए, यदि इनपुट A = [2, 4, 2, 2, 2,

  1. - पायथन में ऐरे को तीन बराबर सम भागों में विभाजित करना

    मान लीजिए हमारे पास इंटीजर्स का एक ऐरे A है, हमारा आउटपुट true होगा यदि और केवल यदि हम ऐरे को तीन नॉन-खाली भागों में विभाजित कर सकते हैं जिनका योग बराबर हो। औपचारिक रूप से, हम ऐरे को विभाजित कर सकते हैं यदि हम इंडेक्स i+1 < j ढूंढ सकते हैं जैसे कि (A[0] + A[1] + ... + A[i], A[i+1] + A[i+2] + ... +