কম্পিউটার

দলের সদস্যদের সূচকের ক্রম খুঁজতে C++ প্রোগ্রাম


ধরুন আমাদের একটি অ্যারে আছে n উপাদান সহ এবং একটি সংখ্যা k। একটি ক্লাসে এন ছাত্র আছে। ith ছাত্রের রেটিং হল A[i]। আমাদের k ছাত্রদের নিয়ে একটি দল গঠন করতে হবে যাতে দলের সকল সদস্যের রেটিং আলাদা হয়। সম্ভব না হলে "অসম্ভব", অন্যথায় সূচকের ক্রম ফেরত দিন।

সুতরাং, যদি ইনপুটটি A =[15, 13, 15, 15, 12] এর মত হয়; k =3, তাহলে আউটপুট হবে [1, 2, 5]।

পদক্ষেপ

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

দুটি বড় অ্যারে অ্যাপ এবং উত্তর সংজ্ঞায়িত করুন এবং সেগুলি পূরণ করুন cnt :=0n :=A এর সাইজ ইনিশিয়ালাইজ i :=1, যখন i <=n, আপডেট করুন (i 1 দ্বারা বাড়ান), করবেন:a :=A[ i - 1] যদি app[a] শূন্য হয়, তাহলে:(app[a] 1 দ্বারা বাড়ান) cnt 1 দ্বারা বাড়ান; ans[cnt] :=iif cnt>=k, তারপর:আরম্ভ করার জন্য i :=1, যখন i <=k, আপডেট করুন (i 1 দ্বারা বাড়ান), করবেন:প্রিন্ট ans[i]অন্যথায় "অসম্ভব" ফেরত দিন।> 

উদাহরণ

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

#include নেমস্পেস ব্যবহার করে std;void solve(vector A, int k) { int app[101] ={ 0 }, ans[101] ={ 0 }, cnt =0; int n =A.size(); জন্য (int i =1; i <=n; i++) { int a =A[i - 1]; যদি (!app[a]) { app[a]++; ans[++cnt] =i; } } যদি (cnt>=k) { (int i =1; i <=k; i++) cout < A ={ 15, 13, 15, 15, 12 }; int k =3; সমাধান(A, k);}

ইনপুট

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

আউটপুট

1, 2, 5,

  1. একটি গ্রাফে সুপার শীর্ষবিন্দুগুলি খুঁজে বের করার জন্য C++ প্রোগ্রাম

  2. C++ এ একটি লাইনের মধ্যবিন্দু খুঁজে বের করার জন্য প্রোগ্রাম

  3. C++ এ ত্রিভুজের সেন্ট্রোয়েড খুঁজে বের করার প্রোগ্রাম

  4. C++ এ সমান্তরালগ্রামের ক্ষেত্রফল বের করার প্রোগ্রাম