Автор - 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.
На любом языке программирования . СРОЧНО

Ответ

Автор - Aniforka

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.

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2026 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation