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

C++ में रोबोट उत्पत्ति पर लौटें


मान लीजिए कि कोई रोबोट है और उसकी आरंभिक स्थिति (0, 0) है। यदि हमारे पास इसकी गतिविधियों का एक क्रम है, तो हमें यह जांचना होगा कि क्या यह रोबोट अपनी चाल पूरी करने के बाद (0, 0) पर समाप्त होता है।

चाल अनुक्रम एक स्ट्रिंग के रूप में दिया जाता है, और चरित्र चलता है [i] इसकी ith चाल का प्रतिनिधित्व करता है। दाएं के लिए आर, बाएं के लिए एल, ऊपर के लिए यू, और नीचे के लिए डी प्रतीक हैं। यदि रोबोट अपनी सभी चालों को पूरा करने के बाद मूल में वापस आ जाता है, तो सही लौटें। अन्यथा, झूठी वापसी करें।

इसलिए, अगर इनपुट "RRULLD" जैसा है, तो आउटपुट सही होगा, राइट टू-यूनिट, फिर ऊपर जाएं, फिर बाएं दो यूनिट फिर नीचे, तो यह शुरुआती स्थिति है।

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

  • l :=मूव्स ऐरे का आकार

  • यदि l, 0 के समान है, तो -

    • सही लौटें

  • एलएफटी:=0, ऊपर:=0

  • इनिशियलाइज़ i :=0 के लिए, जब i

    • यदि चाल [i] 'L' के समान है, तो -

      • (एलएफटी 1 से बढ़ाएँ)

    • यदि चाल [i] 'R' के समान है, तो -

      • (एलएफटी 1 से घटाएं)

    • यदि चाल [i] 'U' के समान है, तो -

      • (1 से बढ़ाएँ)

    • अगर चाल [i] 'डी' के समान है, तो -

      • (1 से कम करें)

  • अगर एलएफटी 0 के समान है और ऊपर 0 के समान है, तो -

    • सही लौटें

  • झूठी वापसी

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   bool judgeCircle(string moves) {
      int l = moves.length();
      if (l == 0) {
         return true;
      }
      int lft = 0, up = 0;
      for (int i = 0; i < l; i++) {
         if (moves[i] == 'L') {
            lft++;
         }
         if (moves[i] == 'R') {
            lft--;
         }
         if (moves[i] == 'U') {
            up++;
         }
         if (moves[i] == 'D') {
            up--;
         }
      }
      if (lft == 0 && up == 0) {
         return true;
      }
      return false;
   }
};
main(){
   Solution ob;
   cout << (ob.judgeCircle("RRULLD"));
}

इनपुट

"RRULLD"

आउटपुट

1

  1. सी ++ प्रोग्राम एन-क्वीन समस्या को हल करने के लिए

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

  1. सी ++ में शून्य कार्यों से लौटें

    शून्य कार्यों को शून्य कहा जाता है क्योंकि वे कुछ भी वापस नहीं करते हैं। एक शून्य फ़ंक्शन कुछ भी वापस नहीं कर सकता यह कथन हमेशा सत्य नहीं होता है। एक शून्य फ़ंक्शन से, हम कोई मान वापस नहीं कर सकते हैं, लेकिन हम मानों के अलावा कुछ और वापस कर सकते हैं। उनमें से कुछ नीचे की तरह हैं। एक शून्य फ़ंक्शन वा

  1. सी ++ में "ऑब्जेक्ट वापस कैसे करें"?

    एक वस्तु एक वर्ग का एक उदाहरण है। मेमोरी केवल तभी आवंटित की जाती है जब कोई ऑब्जेक्ट बनाया जाता है, न कि तब जब कोई वर्ग परिभाषित किया जाता है। किसी फ़ंक्शन द्वारा किसी ऑब्जेक्ट को रिटर्न कीवर्ड का उपयोग करके वापस किया जा सकता है। इसे प्रदर्शित करने वाला एक प्रोग्राम इस प्रकार दिया गया है - उदाहरण #i