پاسخ سوال رییس و کارخانه شکلات‌سازی + کوئرا

پاسخ سوال رییس و کارخانه شکلات‌سازی + کوئرا
پاسخ سوال رییس و کارخانه شکلات‌سازی + کوئرا

پاسخ سوال رییس و کارخانه شکلات‌سازی + کوئرا

در این نوشته تمرین “چیهمونی؟” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.

 

 

در مورد سایت کوئرا بیشتر بخوانید…

 

تمرین رییس و کارخانه شکلات‌سازی کوئرا + پایتون

بعد از انقلاب صنعتی، مربّاها در کارخانه‌های ویژه‌ای که توسط انسان‌ها اداره می‌شود، تولید می‌شوند. در این کارخانه‌ها مراتب اداری از هر چیز دیگری مهم‌تر است.

مراتب اداری در این کارخانه‌ها به این صورت است که آقای شماره‌ی ۱، رییس کارخانه است و همه‌ی کارهای کارخانه زیر نظر او انجام می‌گیرد. پس از رییس کارخانه، کارگران رتبه‌ی اول قرار دارند که همگی تحت فرمان مستقیم رییس کارخانه هستند. همچنین به ازای هر i > 1، هر کارگر رتبه‌ی iام تحت فرمان مستقیم دقیقا یکی از کارگرهای رتبه‌ی هستند. بعلاوه، اگر انسان  تحت فرمان انسان  باشد و انسان y تحت فرمان انسان z باشد، انسان x تحت فرمان انسان z هم هست و هیچ‌کس دیگری در هیچ‌حالتی (به جز دو حالت تحت فرمان مستقیم و با واسطه که گفته شدند) تحت فرمان کس دیگری نیست.

این سلسله مراتب سخت اداری، برای جلوگیری از فساد به وجود آمده؛ بدین صورت که اگر یک روز i نفر از افراد تحت‌فرمان مستقیم انسان x فساد کنند، انسان  علاوه بر پرداخت جریمه‌ی فساد آن‌ها، باید به تعداد کسانی که به هر ترتیبی تحت فرمان او بودند و ملزم به پرداخت جریمه شده‌اند هم شیشه بپردازد (شیشه واحد پولی مربّاهاست که از قضا بسیار ارزشمند هم هست). همچنین او یک شیشه‌ هم برای تنبیه خودش باید بپردازد. به مجموع هزینه‌ای که انسان  ملزم به پرداخت آن می‌شود، جریمه‌ی انسان  می‌گوییم.

در یکی از روزهای گرم و آفتابی تابستان، تمام کسانی که کسی تحت فرمان آن‌ها نبود، فساد کردند و ملزم به پرداخت جریمه‌ی 1شیشه‌ای شدند. امروز جریمه‌ای که رییس باید بپردازد به دستش رسیده. او از مقدار هزینه‌ای که باید بپردازد ناراضی است، به همین دلیل، از شما خواسته هزینه‌ای که او باید بپردازد را تایید کنید.

ورودی سوال رییس و کارخانه شکلات‌سازی

در خط اول ورودی n تعداد افراد کارخانه می‌آید. در خط دوم ورودی n – 1 عدد می‌آید که عدد  ام، p_i است که نشان می‌دهد که انسان i+1 تحت فرمان مستقیم انسان p_i می‌باشد.

تضمین می‌شود که همه‌ی انسان‌ها تحت فرمان رییس کارخانه هستند.

 

خروجی سوال رییس و کارخانه شکلات‌سازی

در تنها خط خروجی تعداد هزینه‌ای که رییس باید بابت جریمه بپردازد را خروجی دهید.

 

حل سوال رییس و کارخانه شکلات‌سازی (به زبان برنامه نویسی پایتون)

class tree:
    def __init__(self, father, jarime, index):
        self.index = index
        self.children = []
        self.father = father
        self.jarime = jarime

nodes = []

def findjarime(index):
    global nodes
    jar = 0
    childs = nodes[index].children
    count = 0
    for child in childs:
        res = findjarime(child.index)
        jar += res[0]
        count += res[1]
    jar+= count    
    jar += 1
    count += 1
    return jar,count

n = int(input())

line = input()
farman = line.split(" ")


for i in range(n):
    nodes.append(tree(None, None, i))

for i in range(len(farman)):
    nodes[i+1].father = nodes[int(farman[i])-1]
    nodes[int(farman[i])-1].children.append(nodes[i+1])

boss = None
for i in range(n):
    if(nodes[i].father == None):
        boss = i
        break

print(findjarime(boss)[0])

 

 

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

 

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

اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.

موفق باشید.

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