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

Ограничение времени: 1 с

ограничение памяти: 256m

улиточные бега

каждые 100 лет в стране улиток проводятся улиточные бега на дистанции l сантиметров. это станет для вас неожиданностью, но в этом столетии они проводятся именно сегодня!

в этом году организаторы приняли решение провести бега на новой трассе - прямоугольнике размера a × b сантиметров. согласно правилам, участники начнут бежать из нижнего левого угла прямоугольника против часовой стрелки в соответствии со схемой ниже:

к сожалению, организаторы забега не могут определить, на какой стороне трассы должен быть расположен финиш, чтобы участники пробежали ровно l сантиметров. напишите программу, которая определить сторону прямоугольника, на которой должна находиться точка финиша.

обратите внимание, что длина забега может быть больше периметра прямоугольника. в таком случае, участники должны будут пробежать несколько кругов прежде чем финишировать.

формат входных данных

вводятся три целых числа a, b, l (2 ≤ a, b ≤ 106, 1 ≤ l ≤ 109) - длина и ширина прямоугольника и длина пути соответственно. гарантируется, что улитка не останавливается в углу прямоугольника.

формат результата

выведите top, если улитка остановится на верхней стороне прямоугольника, bottom - на нижней, left - на левой, right - на правой стороне прямоугольника.

примеры

входные данные

2

4

11

результат работы

left

входные данные

2

4

13

результат работы

bottom

Показать ответ
Ответ:
Kostya200601
Kostya200601
11.09.2020 11:22

Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен P = 2(A + B), так что после выкидывания полных оборотов дистанция будет равна L mod P, где mod - операция взятия остатка. После этого L < P; если L < A, то финиш будет снизу, если A < L < A + B - справа, если A + B < L < 2A + B - сверху, а иначе слева.

Код (python 3):

A = int(input())

B = int(input())

L = int(input())

P = 2 * (A + B)

L = L % P

if L < A:

   print("BOTTOM")

elif L < A + B:

   print("RIGHT")

elif L < 2 * A + B:

   print("TOP")

else:

   print("LEFT")

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