কম্পিউটার

C++ প্রোগ্রাম যাতে সংলগ্ন উপাদান সাজানোর যোগফল প্রদত্ত অ্যারের মতোই হয়


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে। একটি ফাংশন F(p) হল p এর সন্নিহিত উপাদানগুলির যোগফলের একটি সাজানো বিন্যাস। সুতরাং F(p) =sort([p1 + p2, p2 + p3, ... pn-1 + pn])। আমাদের A-তে উপস্থাপন করা একটি স্থানচ্যুতি রয়েছে। আমাদের A-এর বিভিন্ন স্থানান্তর খুঁজে বের করতে হবে যেখানে F(A) একই।

সুতরাং, যদি ইনপুটটি A =[2, 1, 6, 5, 4, 3] এর মত হয়, তাহলে আউটপুট হবে [1, 2, 5, 6, 3, 4], কারণ F(A)=sort( [2+1, 1+6, 6+5, 5+4, 4+3]) =সাজান([3, 7, 11, 9, 7]) =[3,7,7,9,11]। এবং সাজান([1+2, 2+5, 5+6, 6+3, 3+4]) =সাজান([3, 7, 11, 9, 7]) =[3, 7, 7, 9, 11]। (অন্য উত্তরও থাকতে পারে)

পদক্ষেপ

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

n := size of A
for initialize i := n - 1, when i >= 0, update (decrease i by 1), do:
   print A[i]

উদাহরণ

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

#include <bits/stdc++.h>
using namespace std;
void solve(vector<int> A) {
   int n = A.size();
   for (int i = n - 1; i >= 0; i--)
      cout << A[i] << ", ";
}
int main() {
   vector<int> A = { 2, 1, 6, 5, 4, 3 };
   solve(A);
}

ইনপুট

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

আউটপুট

3, 4, 5, 6, 1, 2,

  1. একটি সংখ্যার বিজোড় গুণনীয়কের যোগফল খুঁজে বের করার জন্য C++ প্রোগ্রাম

  2. অ্যারের উপাদানগুলির গুণনের জন্য C++ প্রোগ্রাম

  3. BogoSort বা Permutation Sort এর জন্য C++ প্রোগ্রাম?

  4. হিপ সর্ট অ্যালগরিদম ব্যবহার করে 10টি উপাদানের একটি অ্যারে সাজানোর জন্য C++ প্রোগ্রাম