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

حل تمرین فرار یار کوئرا با پایتون

حل تمرین فرار یار کوئرا با پایتون
حل تمرین فرار یار کوئرا با پایتون

حل تمرین فرار یار کوئرا با پایتون

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

 

حل تمرین فرار یار کوئرا با پایتون

شیرین عسل فهمید که یار نامه‌اش را کامل نخوانده است و تصمیم گرفت برود سراغ یار!! یار که خیلی ترسیده است می‌خواهد هر چه زودتر از خانه اش بیرون برود. خانه‌ی یار n اتاق دارد که هر اتاق یک در خروجی و یک عدد از بین  تا k−1 دارد که درِ خروجی هر اتاق به جز اتاق ام به اتاق بعدی باز می‌شود و در اتاق nام به بیرون خانه باز می‌شود و در ثانیه‌ی t در خروجی اتاق‌هایی باز است که عدد آن ها برابر باقی‌مانده‌ی تقسیم t بر k است. به ازای هر اتاق به یار بگویید که اگر در ثانیه‌ی 0 در آن اتاق باشد و به بهترین شکل عمل کند در چه ثانیه‌ای می‌تواند از خانه خارج شود. (یار در یک ثانیه هر مسافتی را می‌تواند طی کند.)

 

ورودی

در سطر اول ورودی دو عدد طبیعی n و k با فاصله آمده‌اند که در متن سوال توضیح داده شده اند و در سطر بعد n عدد (a1…an) که با فاصله از هم جدا شده‌اند آمده که a نمایانگر عدد اتاق iام است.

ورودی در تمرین فرار یار

 

خروجی

خروجی باید شامل n خط شود که در خط iام جواب به ازای اتاق ام را چاپ کنید.

 

مثال

ورودی نمونه 1

6 3
2 1 1 0 1 0

 

خروجی نمونه 1

9
6
6
3
3
0

 

کد پایتون سوال تمرین فرار یار

n, k = map(int, input().split())
a = list(map(int, input().split()))
d = [0] * len(a)

get_distance = lambda a, b: b - a if a <= b else k - (a - b)

d[-1] = 0
for i in range(len(a) - 2, -1, -1):
    d[i] = get_distance(a[i], a[i + 1]) + d[i + 1]

for i in range(len(a)):
    print(d[i] + a[i])

 

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

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

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