Емблема центру  www.olymp.vinnica.ua     netoi.org.ua
Центр олімпіад школярів в Iнтернеті
Likt-PMG17
м.Вiнниця


Годинник
 
Billiards

Задача Billiards. Більярдний стіл має форму прямокутника mхn. У точку з координатами (0,0) поклали кулю та вдарили по ній так , що вона покотилася під кутом a до додатного напрямку осі оХ. У кутах з координатами (0,0),(0,n),(m,0),(m,n) знаходяться лузи. Знайти, після скількох відбивань від стінок куля опиниться в одній із луз або повідомити про те, що це не відбудеться. Всі удари об стінки вважаються абсолютно пружними. Вважається, що в момент удару куля не може впасти в лузу в точці (0,0).

Технічні умови Програма Billiards читає з пристрою стандартного вводу 4 натуральних числа m,n,p,q – розміри дошки та тангенс кута a(tga=p/q). Кожне з чисел не перевищує 1018. Програма виводить на пристрій стандартного виведення єдине число – кількість відбивань до потрапляння у лузу або -1 , якщо кулька ніколи туди не потрапить. Гарантується, що якщо відповідь існує, то вона не перевищує 1018.

Приклади

Введення 1 1 1 1

Виведення 0

Введення 4 2 1 1

Виведення 1

Пояснення до прикладів. У першому прикладі куля відразу потрапить до лузи в точці (1,1). У другому прикладі куля відіб’ється від верхньої стінки і потрапить у лузу в точці (4,0).


© Всеукраїнський віртуальний центр олімпіад школярів "ОЛІМП"