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

सी ++ प्रोग्राम शुरू से अंत तक जाने के लिए आवश्यक न्यूनतम चरणों को खोजने के लिए

मान लीजिए कि हमारे पास एक निर्देशांक (x, y) है। 2डी ग्रिड पर, एक रोबोट (0, 0) स्थिति पर है और (x, y) तक पहुंचना चाहता है। यह ऊपर, नीचे, बाएँ या दाएँ जा सकता है या वर्तमान सेल में रह सकता है। यह यथासंभव कम से कम कमांड के साथ गंतव्य तक पहुंचना चाहता है। हमें आवश्यक चरणों की संख्या गिननी है।

इसलिए, यदि इनपुट x =3 जैसा है; y =4, तो आउटपुट 7 होगा

कदम

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

return x + y + minimum of |x - y|, |x - y + 1|, and |x - y - 1|

उदाहरण

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

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

int solve(int x, int y) {
   return x + y + min(abs(x - y), min(abs(x - y + 1), abs(x - y - 1)));
}
int main() {
   int x = 3;
   int y = 4;
   cout << solve(x, y) << endl;
}

इनपुट

3, 4

आउटपुट

7

  1. सी ++ में प्रतिद्वंद्वी को पकड़ने के लिए आवश्यक न्यूनतम चरणों को खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास [u, v] के रूप में पेड़ के किनारों की एक सूची है, यह इंगित करता है कि u और v के बीच एक अप्रत्यक्ष किनारा है। और हमारे पास दो मान x और y भी हैं। यदि हम नोड x पर हैं, और हमारा प्रतिद्वंद्वी नोड y पर है। पहले दौर में, हम आगे बढ़ते हैं, फिर अगले दौर में प्रतिद्वंद्वी चलता है और इसी

  1. C++ में मैट्रिक्स के अंत तक पहुंचने के लिए आवश्यक न्यूनतम कदम खोजें

    मान लीजिए कि हमारे पास सकारात्मक पूर्णांक के साथ एक 2D मैट्रिक्स है। हमें मैट्रिक्स के अंत तक जाने के लिए आवश्यक न्यूनतम कदम खोजने होंगे (सबसे नीचे की सेल), यदि हम सेल (i, j) पर हैं, तो हम सेल (i, j+mat[i, j) पर जा सकते हैं ]) या (i+mat[i, j], j), हम सीमा पार नहीं कर सकते। तो अगर मैट्रिक्स की तरह है

  1. C++ में N तक लॉग की गणना करने के लिए आवश्यक न्यूनतम संख्या में लॉग मान ज्ञात करें

    जैसा कि हम जानते हैं कि log(x*y) =log(x) + log(y). तो हम देखेंगे कि 1 से N तक के सभी लॉग मानों की गणना करने के लिए न्यूनतम लॉग मानों की क्या आवश्यकता है। इसलिए यदि N 6 है, तो आउटपुट 3 होगा, जैसे लॉग (1) से लॉग (6) तक, वहाँ हैं लॉग (1) को छोड़कर तीन लॉग मानों की आवश्यकता है। चूंकि लॉग (1) हमेशा 0 होत