কম্পিউটার টিউটোরিয়াল

সি++ প্রোগ্রাম: কার্ড গেমের বিজয়ী বের করুন

একটি সংখ্যা n, দুটি অ্যারে A (সাইজ k1) এবং B (সাইজ k2) দেওয়া আছে। অমল এবং বিমল একটি কার্ড গেম খেলছে। nটি কার্ড আছে ১ থেকে n নম্বর করা। শুরুতে কার্ডগুলো তাদের মধ্যে বন্টা আছে। প্রতিটি টার্নে প্রতিটি খেলাড়ি তাদের একটি কার্ড বেছে নেয় (যেটি চান) এবং টেবিলে রাখে, অন্যটি দেখে না। তারপর উভয় কার্ড রিভিল করা হয়, যার কার্ড বড় সে দুটোই নেয়। কার্ড যেকোনো সংখ্যকবার খেলা যাবে। A = অমলের কার্ড, B = বিমলের কার্ড। কার্ড না থাকলে हार। চূড়ান্ত বিজয়ী কে তা বের করতে হবে।

উদাহরণ

n=5, A=[3,2], B=[5,1,4] → আউটপুট: Bimal
ব্যাখ্যা: প্রথমে (3,5) খেললে বিমল সব নেয়, তারপর (3,1) খেললে অমল নেয়, এরপর (3,4) খেললে বিমল নেয়, অমল ১ খেললে বিমল ৫ দিয়ে নেয় — অমলের কার্ড শূন্য।

সমাধানের ধাপসমূহ

d := 0, e := 0
for i := 0 to A.size()-1:
    f := A[i]
    if d < f: d := f
for i := 0 to B.size()-1:
    f := B[i]
    if e < f: e := f
if d > e: return "Amal"
else: return "Bimal"

সি++ কোড উদাহরণ

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

string solve(int n, vector<int> A, vector<int> B) {
    int d = 0, e = 0;
    for (int i = 0; i < A.size(); i++) {
        int f = A[i];
        if (d < f) d = f;
    }
    for (int i = 0; i < B.size(); i++) {
        int f = B[i];
        if (e < f) e = f;
    }
    if (d > e) return "Amal";
    else return "Bimal";
}

int main() {
    int n = 5;
    vector<int> A = {3, 2};
    vector<int> B = {5, 1, 4};
    cout << solve(n, A, B) << endl;
}

ইনপুট

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

আউটপুট

Bimal
  1. C++-এ স্টোন গেম II

  2. সি++ প্রোগ্রাম: গ্রাফ ম্যাট্রিক্সের বিপরীত (Inverse) নির্ণয়

  3. C++ প্রোগ্রাম: LCM (লঘুতম সাধারণ গুণিতক) নির্ণয়

  4. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়