اشکال در به دست اوردن مسابقات جهانی کبدی

سئولین فدراسیون کبدی کشور در حال آماده سازی تیم هایی برای شرکت در مسابقات جهانی کبدی هستند. طبق قوانین مسابقات جهانی کبدی هر شخص فقط در ۵ مسابقه ی جهانی کبدی می تواند شرکت کند. رئیس فدراسیون تمامی ورزشکاران این رشته را دور هم جمع کرده است، هر بازیکن تا امروز تعدادی بار در مسابقات جهانی شرکت کرده است. تیم های کبدی دقیقا از ۳ نفر تشکیل می شود. حال آقای شایگان آریامهر، رئیس فدراسیون می خواهد تیم هایی تشکیل دهد که در صورت انتخاب شدن هرکدام از آن تیم ها، حداقل بتوانند 3 سال با هم در مسابقات جهانی شرکت کنند (یعنی هرکدام از اعضای یک تیم حداکثر ۲بار در مسابقات جهانی شرکت کرده باشند)

خط اول ورودی شامل عدد n یعنی تعداد بازیکنان کبدی مد نظر است. خط بعدی ورودی شامل n عدد که با space از هم جدا شده اند می باشد که نمایانگر این است که هر بازیکن چندبار در مسابقات جهانی شرکت کرده است. در خروجی یک عدد چاپ کنید که نمایانگر حداکثر تیم های تشکیل شده با شرایط گفته شده می باشد.

ورودی نمونه:

6
5 0 4 2 1 0
خروجی نمونه:

1
در ورودی نمونه داده شده، بازیکنانی که 5 و 4 بازی داشته‌اند، طبق صورت سوال نمی‌توانند در گروهی باشند؛ بنابراین فقط 4 بازیکنی که 0 و 2و 1و 0 بازی داشته‌اند ،می‌توانند در گروه‌ها باشند. با 4 نفر هم تنها می‌توان 1 گروه 3 نفره تشکیل داد. دقت کنید که لازم نیست تعداد حالت‌(جایگشت)هایی را حساب کنید.

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

سلام وقت بخیر

همونطور که توی سوال مشخصه باید تعداد کسایی که زیر ۳ بار بازی کردن رو پیدا کنیم و در نهایت تقسیم صحیح اون بر ۳ رو نمایش بدیم. این مقدار همون تعداد تیم های قابل تشکیل هست بدون در نظر گرفتن جایگشت های ممکن.

کدی که من برای حل این سوال نوشتم به صورت زیر هست:

number_of_players = int(input())
attendences = input().split(' ', number_of_players)
attendences_less_than_3 = [int(i) for i in attendences if int(i) < 3]

print(len(attendences_less_than_3)//3)

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

خیلیییی ممنون🙏🏽😃

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

خواهش میکنم.

online-support-icon