কম্পিউটার

C++ এ প্রদত্ত নড়াচড়ার পর রোবটের অবস্থান


এই সমস্যায়, আমাদেরকে একটি রোবট দেওয়া হয়েছে যেটি চারটি দিকে চলে কিন্তু শুধুমাত্র একটিই চলে। দিকনির্দেশগুলি উপরে ('U'), নীচে ('D'), বাম ('L'), ডান ('R')। এবং আমাদের একটি স্ট্রিং দেওয়া হয়েছে যাতে সংখ্যার দিকনির্দেশের আদ্যক্ষর রয়েছে। আমাদের কাজ হল রোবটের চূড়ান্ত অবস্থান প্রিন্ট করা, রোবটের প্রাথমিক অবস্থান (0,0)।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক

ইনপুট - ইনপুট:'LDRRUL'

আউটপুট৷ − (0, 0)

ব্যাখ্যা

L (left) : (0,0) -> (-1,0)
D (down) : (-1,0) -> (-1, -1)
R (right) : (-1, -1) -> (0, -1)
R (right) : (0, -1) -> (1, -1)
U(up) : (1, -1) -> (1, 0)
L(left) : (1, 0) -> (0, 0)

এই সমস্যাটি সমাধান করার জন্য, আমরা x-অক্ষ এবং y-অক্ষের দিকের মোট চালগুলি গণনা করব। এক্স-সমন্বয়ের জন্য, ডান সরানোর জন্য গণনা বাড়ান এবং বাম সরানোর জন্য গণনা হ্রাস করুন। y-সমন্বয়ের জন্য, উপরে সরানোর জন্য গণনা বাড়ান এবং একটি বাম সরানোর জন্য নিচের গণনা করুন।

উদাহরণ

আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম

#include <iostream>
#include <string.h>
using namespace std;
void robotMoved(string move) {
   int xAxis, yAxis;
   int l=move.size();
   for (int i = 0; i < l; i++) {
      if (move[i]=='U')
         yAxis++;
      else if (move[i]=='D')
         yAxis--;
      else if (move[i]=='L')
         xAxis--;
      else if (move[i]=='R')
         xAxis++;
   }
   cout<<"Final Position of the robot is : ("<<xAxis<<", "<<yAxis<<")"<<endl;
}
int main() {
   string move="URLLDDRRUDUDDRU";
   robotMoved(move);
   return 0;
}

আউটপুট

Final Position of the robot is : (32744, -274873553)

  1. রোবট দ্বারা চূড়ান্ত অবস্থানে পৌঁছানোর ধাপগুলি গণনা করার জন্য C++ কোড

  2. C++ এ T সেকেন্ডের পর ব্যাঙের অবস্থান

  3. C++-এ একই অ্যারেতে K উপাদান যোগ করার পর প্রদত্ত অ্যারের মধ্যমাটি সর্বাধিক করুন

  4. C++ এ সাবস্ট্রিং