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

C++ প্রোগ্রাম: টিম সদস্যের সূচক সিকোয়েন্স বের করা (বিচ্ছিন্ন রেটিং)েন

n ছাত্র, রেটিং A[i]। k ছাত্রের টিম বানাতে হবে যাতে সবার রেটিং ভিন্ন হয়। সম্ভব না হলে "Impossible", সম্ভব হলে তাদের সূচক (১-ভিত্তিক) প্রিন্ট করুন।

উদাহরণ

A = [15, 13, 15, 15, 12], k = 3 → আউটপুট: [1, 2, 5]

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

ভিজিটেড আরে দিয়ে প্রথম উপস্থিতি ট্র্যাক করুন। অনন্য রেটিংवाले kটি পাওয়া গেলে তাদের সূচক প্রিন্ট করুন।

উদাহরণ

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

void solve(vector A, int k) { 
    int app[101] = {0}, ans[101] = {0}, cnt = 0; 
    int n = A.size(); 
    for (int i = 1; i <= n; i++) { 
        int a = A[i - 1]; 
        if (!app[a]) { 
            app[a]++; 
            ans[++cnt] = i; 
        } 
    } 
    if (cnt >= k) { 
        for (int i = 1; i <= k; i++) 
            cout << ans[i] << ", "; 
    } else 
        cout << "Impossible"; 
} 

int main() { 
    vector A = {15, 13, 15, 15, 12}; 
    int k = 3; 
    solve(A, k); 
    return 0; 
}

ইনপুট

{15, 13, 15, 15, 12}, 3

আউটপুট

1, 2, 5,
  1. C++ প্রোগ্রাম: গ্রাফে সুপার ভেরটেক্স চিহ্নিতকরণ

  2. সি++-এ একটি রেখার মিড-পয়েন্ট বের করার প্রোগ্রাম

  3. সি++-এ ত্রিভুজের কেন্ড্রয়েড (Centroid) বের করার প্রোগ্রাম

  4. সি++-এ সমান্তরাল চতুর্ভুজের (Parallelogram) ক্ষেত্রফল বের করার প্রোগ্রাম