حل تمرین باقر خستهست ولی بیفرهنگ نه کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات ریاضیات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین باقر خستهست ولی بیفرهنگ نه کوئرا با پایتون
باقر سرما خورده و مقادیر زیادی خسته است. شب قبل از روز مسابقهی نهایی کدکاپ، باقر خسته بود و خسته به خواب رفت، در نتیجه صبح روز مسابقه، خواب مانده است. مهدی به باقر زنگ میزند و باقر از خواب میپرد. مهدی از باقر میپرسد که چند دقیقهی دیگر به دانشگاه میرسد؟ باقر میداند تا دانشگاه l کیلومتر فاصله دارد. در مسیر او به دانشگاه چراغقرمز وجود دارد که هر کدام از آنها چرخهای دارند. موقعی که باقر سوار ماشینش میشود همهی چراغقرمزها قرمزند و در ابتدای چرخهی خود هستند. چراغقرمز iاُم در فاصلهی di کیلومتری خانهی باقر قرار دارد و در هر چرخه ri دقیقه قرمز است و gi دقیقه سبز. باقر در هر دقیقه یک کیلومتر از مسیر را طی میکند و اگر به چراغ قرمز برسد میایستد تا سبز شود (خستهست ولی بیفرهنگ نه). در این حین باقر آماده میشود و پشت ماشین مینشیند، مهدی سوالش را تکرار میکند. به باقر کمک کنید جواب مهدی را بدهد.
ورودی
در خط اول و l آمده است.
در هر یک از n خط بعد، در خط iاُم، به ترتیب di، ri و gi آمده است.
دقت کنید چراغقرمزها به ترتیب فاصله از خانهی باقر داده شدهاند.
تضمین میشود که تمامی diها متمایز و تمامی اعداد ورودی صحیحاند.
خروجی
در تنها خط خروجی مدت زمانی که طول میکشد تا باقر از خانهاش به دانشگاه برسد را چاپ کنید.
مثال
ورودی نمونه 1
2 10 3 5 5 5 2 2
خروجی نمونه 1
12
ورودی نمونه 2
4 30 7 13 5 14 4 4 15 3 10 25 1 1
خروجی نمونه 2
36
کد پایتون سوال تمرین باقر خستهست ولی بیفرهنگ نه
numof, to_univ = [int(i) for i in input().split()] redlamps = list() for i in range(numof): redlamps.append([int(i) for i in input().split()]) Which = 0 Where = 0 while Where < to_univ: iso = False for i in redlamps: iso = False if i[0] == Where: if i[1] > Which % (i[1] + i[2]): Which += i[1] - Which % (i[1] + i[2]) else: iso = True if iso: Which += 1 Where += 1 print(Which + 1)
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ