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

C++ में दिए गए निर्देशांक से वांछित निर्देशांक तक जाना संभव है या नहीं जांचें


मान लीजिए हमारे पास दो निर्देशांक (sx, sy) और (tx, ty) हैं, हमें जांचना है कि क्या हम शुरुआती बिंदु से अंतिम बिंदु तक जा सकते हैं या नहीं। यहां चाल में एक बिंदु (x, y) लेना और इसे या तो (x, x+y) या (x+y, y) में बदलना शामिल है।

इसलिए यदि इनपुट (1, 1) और (4,5) हैं, तो उत्तर सत्य होगा, क्योंकि चाल (1,1) से (2,1), फिर (3,1), फिर (4,1), फिर (4,5) तक है।

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

  • जब तक tx > sx और ty > sy, करें:
    • यदि tx > ty, तो:
      • tx := tx mod ty
    • अन्यथा:
      • ty := ty mod tx
  • वापस करें (सत्य जब sx, tx के समान है AND sy <= ty AND (ty - sy) mod tx 0 के समान है) OR (sy, ty के समान है AND tx >= sx AND (tx - sx) mod ty 0 है)

उदाहरण (C++)

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

#include <bits/stdc++.h> 
using namespace std; 

bool solve(int sx, int sy, int tx, int ty) { 
    while (tx > sx && ty > sy) { 
        if (tx > ty) { 
            tx %= ty; 
        } else { 
            ty %= tx; 
        } 
    } 
    return (sx == tx && sy <= ty && (ty - sy) % tx == 0) || (sy == ty && tx >= sx && (tx - sx) % ty == 0); 
} 

int main() { 
    cout << solve(1, 1, 4, 5); 
    return 0; 
}

इनपुट

1, 1, 4, 5

आउटपुट

1

  1. - दिए गए पूर्णांकों से अधिकतम संभावित टैली ज्ञात करने का C++ प्रोग्राम

    मान लीजिए हमें दो पूर्णांक n और m दिए गए हैं और k टपल्स हैं जिनमें चार पूर्णांक {ai, bi, ci, di} हैं। चार सरणियाँ a, b, c, d दी गई हैं जहाँ a[i] i-वें टपल का a मान दर्शाता है। अब एक अनुक्रम dp पर विचार करें जिसमें n धनात्मक पूर्णांक हों और 1 ≤ dp[1] < dp[2] < ... < dp[n] ≤ m। हम एक मेट्रिक टैली परि

  1. C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें

    यूक्लिडियन प्लेन ज्यामिति में एक चतुर्भुज चार शीर्षों और चार किनारों के साथ एक बहुभुज बनाता है। नाम 4-gon आदि। चतुर्भुजों के अन्य नामों में शामिल हैं और कभी-कभी उन्हें वर्ग, डिस्प्ले स्टाइल आदि के रूप में भी जाना जाता है।इस लेख में, हम दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करने के दृष

  1. C++ में जांचें कि दिया गया बाइनरी ट्री सम-ट्री है या नहीं C++ में जांचें कि दिया गया बाइनरी ट्री सम-ट्री है या नहीं

    यहां हम देखेंगे कि बाइनरी ट्री सम-ट्री (SumTree) है या नहीं, इसकी जांच कैसे करें। अब सवाल यह है कि सम-ट्री क्या है। एक सम-ट्री एक बाइनरी ट्री है जहां एक नोड अपने बच्चों के योग का मान रखता है। ट्री का रूट उसके नीचे के सभी तत्वों का पूरा योग रखता है। यह सम-ट्री का एक उदाहरण है -इसे जांचने के लिए, हम ए