Предмет: Информатика,
автор: pfuykupidoras
Сдать решение задачи B-Улиточные бега
Имя входного файла: snail.in или стандартный поток ввода
Имя выходного файла: snail.out или стандартный поток вывода
Ограничение времени: 1 с
Ограничение памяти: 256M
Улиточные бега
Каждые 100 лет в Стране Улиток проводятся улиточные бега на дистанции L сантиметров. Это станет для вас неожиданностью, но в этом столетии они проводятся именно сегодня!
В этом году организаторы приняли решение провести бега на новой трассе - прямоугольнике размера A × B сантиметров. Согласно правилам, участники начнут бежать из нижнего левого угла прямоугольника против часовой стрелки в соответствии со схемой ниже:
К сожалению, организаторы забега не могут определить, на какой стороне трассы должен быть расположен финиш, чтобы участники пробежали ровно L сантиметров. Напишите программу, которая поможет определить сторону прямоугольника, на которой должна находиться точка финиша.
Обратите внимание, что длина забега может быть больше периметра прямоугольника. В таком случае, участники должны будут пробежать несколько кругов прежде чем финишировать.
Формат входных данных
Вводятся три целых числа A, B, L (2 ≤ A, B ≤ 106, 1 ≤ L ≤ 1018) - длина и ширина прямоугольника и длина пути соответственно. Гарантируется, что улитка не останавливается в углу прямоугольника.
Формат результата
Выведите TOP, если улитка остановится на верхней стороне прямоугольника, BOTTOM - на нижней, LEFT - на левой, RIGHT - на правой стороне прямоугольника.
Примеры
Входные данные
2
4
11
Результат работы
LEFT
Входные данные
2
4
13
Результат работы
BOTTOM
Примечания
Обратите внимание, что в данной задаче величина L превышает максимально возможное значение 32-битных типов данных. Для работы с большими целыми числами в языке Pascal предусмотрен тип int64, а в C++ - тип long long.
На любом языке программирования . СРОЧНО
Ответы
Автор ответа:
4
program abc;
var a,b,l:int64;
begin
assign(input,'snail.in');
assign(output,'snail.out');
readLn(a,b,l);
if (l div (a+b)) mod 2 = 0 then if (l mod (a+b))-a<0 then writeLn('BOTTOM') else writeLn('RIGHT')
else if (l mod (a+b))-a<0 then writeLn('TOP') else writeLn('LEFT')
end.
pfuykupidoras:
не работает
Похожие вопросы
Предмет: Химия,
автор: 333kuruchenko333
Предмет: Математика,
автор: krvarvara0410
Предмет: История,
автор: alshvikialan
Предмет: История,
автор: Viktory1122
Предмет: Физика,
автор: Юлялип