এই সমস্যায়, আমাদের দুটি পূর্ণসংখ্যা দেওয়া হয়েছে N এবং M, N হল গ্রুপ 1-এর লোকের সংখ্যা এবং M হল 2-এর গ্রুপের লোকের সংখ্যা। আমাদের কাজ হল তৈরি করা। একটি দুটি গ্রুপ থেকে গঠিত সর্বোচ্চ সংখ্যক 3-জনের দল খুঁজে বের করার প্রোগ্রাম।
আমরা এই গ্রুপ থেকে একজনকে বাছাই করে 3 জনের দল তৈরি করব যাতে সর্বোচ্চ দল তৈরি করা যায়। প্রতিটি দলে অবশ্যই প্রতিটি গ্রুপ থেকে কমপক্ষে একজন ব্যক্তি থাকতে হবে।
সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,
ইনপুট − N =5, M =3
আউটপুট − 2
ব্যাখ্যা −
দলগুলি নিম্নরূপ হবে -
Team 1: Group 1 Member->2 ; Group 2 Member->1 Left in Group 1 = 3 ; left in Group 2 = 2 Team 2: Group 1 Member->2 ; Group 2 Member->1 Left in Group 1 = 1 ; left in Group 2 = 1 No more teams of 3 can be formed.
এই সমস্যা সমাধানের জন্য, আমরা কম ব্যক্তি এবং অন্য গ্রুপ থেকে 2 জন সদস্য নিয়ে 1 সদস্যের ফর্ম গ্রুপ নিয়ে দল তৈরি করব। এবং প্রতিটি গোষ্ঠীতে ব্যক্তির সংখ্যা আপডেট করুন৷৷ এছাড়াও, আমরা একটি টিমের গণনা বজায় রাখব এবং প্রতিটি দল তৈরি করার পরে তা বৃদ্ধি করব যতক্ষণ না দল তৈরি করা সম্ভব হয়।
উদাহরণ
দুটি গ্রুপ থেকে গঠিত সর্বাধিক 3-জনের দল খুঁজে বের করার প্রোগ্রাম -
#include <iostream> using namespace std; int CountTeams(int N, int M) { int teamCount = 0; while (N >= 1 && M >= 1 && N + M >= 3) { if (N > M) { N = N-2; M = M-1; } else { N = N-1; M = M-2; } teamCount++; } return teamCount; } int main() { int N = 5, M = 3; cout<<"The maximum number of 3-person teams is "<<CountTeams(N, M); return 0; }
আউটপুট
The maximum number of 3-person teams is 2