من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

حل تمرین جشن هدیه‌ها کوئرا با پایتون

حل تمرین جشن هدیه‌ها کوئرا با پایتون
حل تمرین جشن هدیه‌ها کوئرا با پایتون

حل تمرین جشن هدیه‌ها کوئرا با پایتون

در این نوشته به روش حل یکی از سوالات برنامه نویسی وب‌سایت کوئرا می‌پردازیم.

 

حل تمرین جشن هدیه‌ها کوئرا با پایتون

زانا سالی یک بار یک جشن خاص برگزار می‌کند و تعدادی از دوستانش را به این جشن دعوت می‌کند. اسم این جشن «جشن هدیه‌ها» است! هر فردی که در این جشن شرکت می‌کند مقداری پول به همراه خود دارد و به تعدادی از دوستانش هدیه می‌دهد. روش هدیه دادن در این جشن کمی عجیب است! هر کدام از افراد یک لیست هدیه دارد که در آن لیست، نام تعدادی از دوستانش که در جشن شرکت کرده‌اند نوشته شده است و تمام پولی که همراه دارد را بین افراد این لیست به طور مساوی تقسیم می‌کند و این پول را به آن‌ها هدیه می‌دهد! چون پول اعشاری (کوچک‌تر از یک) نداریم، این تقسیم‌ها تقسیم صحیح هستند و اگر تقسیم پول بین اعضای لیست باقیمانده‌ای داشته، فرد هدیه دهنده این باقیمانده را برای خود نگه می‌دارد. به طور مثال اگر ساینا 11 واحد پول داشته و در لیست او فقط سه نفر قرار گرفته‌اند، به هر کدام از آن‌ها 3 واحد پول می‌دهد و 2 واحد از پول خود را برای خود نگه می‌دارد. حال شما برنامه‌ای بنویسید که پس از گرفتن اسامی شرکت کنندگان، مقدار پول اولیه‌ی هر کدام و لیست هدیه هر کس، مشخص کند که هرکسی چقدر سود یا زیان کرده است!

 

ورودی

  • خط 1‌: عدد n که برابر است با تعداد شرکت کنندگان در جشن.
  • خط 2 تا n+1: در هر خط اسم یکی از شرکت کنندگان.
  • خط n+1 الی آخر: از این خط به بعد ورودی به n دسته تقسیم می‌شود که هرکدام مطابق زیر است: خط اول نام فردی که قرار است هدیه بدهد. در خط دوم دو عدد می‌آید: عدد اول مقدار پول آن فرد، عدد دوم (k) تعداد افراد موجود در لیست هدیه‌ی آن فرد در k خط بعدی در هر خط نام یکی از افراد موجود در لیست هدیه‌ی آن فرد.

می‌توانید فرض کنید نام هر دو نفر از افراد شرکت‌کننده در جشن متمایز است و:

ورودی در تمرین جشن هدیه‌ها

 

خروجی

در خروجی باید n خط چاپ کنید که در هر ابتدای هر خط نام هر شخص و بعد از آن مقدار سود او آورده شود. (اگر آن شخص ضرر کرده است، باید منفی مقدار ضرر چاپ شود.) ترتیب نام‌ها در خروجی باید مانند ترتیب نام‌ها در خطوط 2 تا n+1 ورودی شود.

 

 

مثال

ورودی نمونه

5
dave
laura
owen
vick
amr
dave
200 3
laura
owen
vick
owen
500 1
dave
amr
150 2
vick
owen
laura
0 2
amr
vick
vick
0 0

 

خروجی نمونه

dave 302
laura 66
owen -359
vick 141
amr -150

 

کد پایتون سوال تمرین جشن هدیه‌ها

tedad = int(input())
dict = {}

for names in range(tedad):
    dict[input()] = 0

for i in range(tedad):
    a = input()
    total, k = map(int, input().split())
    if k != 0:
        pool_a = total % k
        nahaee = total - pool_a
        dict[a] += -(nahaee)

    else:
        dict[a] += total

    if k != 0:
        pool_taghsim = total // k

        for name in range(k):
            b = input()
            dict[b] += pool_taghsim

for key, val in dict.items():
    print(key, val)

 

منبع سوال: کوئرا

اگر نیاز به حل تمرین‌های دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]