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

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

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

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

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

 

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

گاوصندوقی تا چرخانه دارد که روی هرکدام، ترتیبی از اعداد 1 تا 9 قرار دارد. زیر هر چرخانه یک نشان وجود دارد که به یکی از اعداد چرخانه اشاره می‌کند و با چرخاندن چرخانه، این عدد تغییر می‌کند. حال یک عدد رقمی به عنوان رمز داده شده، حداقل تعداد چرخاندن چرخانه‌ها برای این که اعداد اشاره شده برابر عدد رمز شود چقدر است؟

 

ورودی

در خط اول k آمده است. در خط دوم رمز که یک رشته‌ی k رقمی متشکل از ارقام 1 تا 9 است آمده است. در خط iاُم از k خط بعدی در هر خط ترتیب ارقام روی چرخانه‌ی iاُم به ترتیب ساعت‌گرد آمده است. اولین رقم رقم اشاره شده است.

ورودی در تمرین رمز

 

خروجی

حداقل تعداد چرخاندن چرخانه‌ها برای این که اعداد اشاره شده برابر عدد رمز است را چاپ کنید.

 

مثال

ورودی نمونه 1

3
123
241356789
987546231
956874231

 

خروجی نمونه 1

7

توضیح: می‌توان با این چرخش‌ها در 7 حرکت به رمز هدف رسید:

  • دو بار چرخاندن چرخانه‌ی اول در جهت ساعت‌گرد.
  • سه بار چرخاندن چرخانه‌ی دوم در جهت پادساعت‌گرد.
  • دو بار چرخاندن چرخانه‌ی سوم در جهت پادساعت‌گرد.

 

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

k = int(input().strip()) 
target = input().strip() 
wheels = [input().strip() for _ in range(k)] 

total_rotations = 0 

for i in range(k): 
    current_wheel = wheels[i] 
    target_digit = target[i] 
     
    current_pos = 0 
    target_pos = current_wheel.index(target_digit) 
     
    clockwise_rotations = (target_pos - current_pos) % 9 
    counterclockwise_rotations = (current_pos - target_pos) % 9 
     
    total_rotations += min(clockwise_rotations, counterclockwise_rotations) 

print(total_rotations)

 

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

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

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