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

C++-এ অ্যাসাইনমেন্ট পাসিং গেম: ইনভিজিলেটরকে ছাড়া পাস করানো

একটি অ্যাসাইনমেন্ট ইনভিজিলেটরকে না বুঝিয়ে ছাত্র A-র হাতে পৌঁছাতে হবে। সব ছাত্র কিউয়ে বসে আছে। ছাত্র A (সূচক i) তার পাশের ছাত্র (i-1, i+1)-কে পাস করতে পারে। ইনভিজিলেটর [il, rl] রেঞ্জ দেখছে। এই রেঞ্জে থাকলে পাস বা রিসিভ করা যাবে না, কিন্তু রাখতে পারবে।

ইনপুট: p (মোট ছাত্র), q (ইনভিজিলেটরের ধাপ), r (A-এর পজিশন), s (B-এর পজিশন)। প্রতিটি ধাপে: সময়, বাম সীমা, ডান সীমা। আউটপুট: "Left", "Right", "Keep" সিকোয়েন্স।

উদাহরণ

ইনপুট: 8 3 2 7 / 1 4 6 / 2 1 8 / 3 5 6
আউটপুট: Right Keep Right Right Right Right

সমাধানের পদ্ধতি

লক্ষ্য দিকে যাওয়ার দিক নির্ণয় করুন (Left/Right)। প্রতিটি টাইম স্টেপে: ইনভিজিলেটর দেখছে কিনা চেক করুন। বর্তমান বা পরবর্তী ছাত্র ওয়াচ রেঞ্জে থাকলে "Keep", অন্যথায় লক্ষ্য দিকে পাস করুন।

উদাহরণ

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

void solve(int p, int q, int r, int s, long t[], int l[], int ar[]) { 
    int dir; string val; 
    if (r < s) { dir = 1; val = "Right"; } 
    else { dir = -1; val = "Left"; } 
    string answer = ""; 
    int i = 0, current = r; long tim = 1; 
    while (1) { 
        if (i < q && tim == t[i]) { 
            if ((current >= l[i] && current <= ar[i]) || 
                (current + dir >= l[i] && current + dir <= ar[i])) { 
                answer += "Keep\n"; tim++; i++; continue; 
            } 
            i++; 
        } 
        current += dir; 
        answer += val + "\n"; 
        tim++; 
        if (current == s) break; 
    } 
    cout << answer << endl; 
} 

int main() { 
    int p = 8, q = 3, r = 2, s = 7; 
    long t[3] = {1, 2, 3}; 
    int l[3] = {4, 1, 5}; 
    int ar[3] = {6, 8, 6}; 
    solve(p, q, r, s, t, l, ar); 
    return 0; 
}

আউটপুট

Right Keep Right Right Right Right

উপসংহার

কম্পিটিটিভ কোডিং-এর জন্য একটি গুরুত্বপূর্ণ অ্যালগরিদম যা রিয়েল লাইফ সমস্যা C++ দিয়ে সমাধান করে।

  1. C++-এ The Maze II সমস্যা: গোলাপταν গেঁদের ন্যূনতম দূরত্ব

  2. C++-এ মেজ সমস্যা: বল দিয়ে পথ খুঁজে বের করা

  3. জিতাবার কে ভবিষ্যদ্বাণী করা C++-এ

  4. C++-এ The Maze III সমস্যা সমাধান