কম্পিউটার

পাইল কাউন্ট চেক করার জন্য C++ কোড দ্বিতীয় দিন থেকে বৈধ


ধরুন আমাদের কাছে একই আকারের দুটি অ্যারে X এবং Y আছে। প্রথম দিনে ith সূচকে X[i] সংখ্যক পাথরের স্তূপ এবং দ্বিতীয় দিনে ith সূচকে Y[i] সংখ্যার পাথর রয়েছে। প্রথম দিনেই অনেক সদস্য এসেছেন। হয় তারা কিছুই করে না বা তারা একটি স্তূপে কয়েকটি পাথর যোগ করে বা তারা একটি স্তূপ থেকে অন্য স্তূপে কয়েকটি পাথর অদলবদল করে। আমাদের পরীক্ষা করতে হবে X থেকে Y বৈধ কিনা।

সুতরাং, যদি ইনপুটটি X =[1, 2, 3, 4, 5] এর মত হয়; Y =[2, 1, 4, 3, 5], তাহলে আউটপুট হবে True, কারণ একটি পাথর দ্বিতীয় পাইল থেকে প্রথম পাইলে, একটি পাথর 4র্থ পাইল থেকে 3য় পাইলে নিয়ে যান।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   s := s + A[i]
for initialize i := 0, when i < n, update (increase i by 1), do:
   d := d + B[i]
return (if d > s, then false, otherwise true)

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
bool solve(vector<int> A, vector<int> B){
   int n = A.size(), d = 0, s = 0;
   for (int i = 0; i < n; i++)
      s += A[i];
   for (int i = 0; i < n; i++)
      d += B[i];
   return d > s ? false : true;
}
int main(){
   vector<int> X = { 1, 2, 3, 4, 5 };
   vector<int> Y = { 2, 1, 4, 3, 5 };
   cout << solve(X, Y) << endl;
}

ইনপুট

{ 1, 2, 3, 4, 5 }, { 2, 1, 4, 3, 5 }

আউটপুট

1

  1. C++ কোড রিকনেসান্স ইউনিট গঠনের উপায় গণনা করতে

  2. শীট কেনার প্যাক সংখ্যা গণনা করার জন্য C++ কোড

  3. ত্রিভুজাকার সংখ্যা পরীক্ষা করতে C++ কোড

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