В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
KODYASHOW
KODYASHOW
07.10.2020 03:13 •  Информатика

Миша заблудился в лесу и пытается выйти из него. Он проходит A
шагов на север, затем
B
шагов на восток, затем
C
шагов на юг,
D
шагов на запад, после чего повторяет свои действия (снова
A
шагов на север,
B
шагов на восток,
C
шагов на юг,
D
шагов на запад и т.д.).
Оказалось, что для того, чтобы выйти из леса из его первоначальной точки ему нужно было пройти ровно
K
шагов в любом из четырёх направлений, то есть первоначально Миша находится в центре квадрата со стороной
2
K
шагов.
Определите, сколько шагов Миша сделает, прежде чем выйдет из леса (впервые окажется на границе леса).

Показать ответ
Ответ:
Dimkaumnik1
Dimkaumnik1
20.12.2021 01:50

import sys

A = int(input())

B = int(input())

C = int(input())

D = int(input())

K = int(input())

def check(x, y):

   if abs(x) > K or abs(y) > K:

       return 0

   y += A

   if y >= K:

       return A - (y - K)

   x += B

   if x >= K:

       return A + B - (x - K)

   y -= C

   if y <= -K:

       return A + B + C - (-y - K)

   x -= D

   if x <= -K:

       return A + B + C + D - (-x - K)

   return -1

if check(0, 0) != -1:

   print(check(0, 0))

   sys.exit(0)

x = B - D

y = A - C

left = 0

right = 10 ** 9

while right - left > 1:

   mid = (left + right) // 2

   if check(x * mid, y * mid) == -1:

       left = mid

   else:

       right = mid

print(right * (A + B + C + D) + check(x * right, y * right))

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота