La un concurs de robotică, în timpul prezentării, un roboţel cu corp cilindric cu diametrul de o unitate scapă de sub control şi se deplasează într-un ring de formă dreptunghiulară. Ringul este împărţit în pătrate identice, cu latura de o unitate, aşezate pe linii şi coloane.
Robotul poate părăsi ringul numai pe la colţuri, acestea fiind numerotate de la la , colţul cu numărul fiind cel din stânga jos apoi restul fiind numerotate în sens trigonometric. Suprafaţa ringului este delimitată de exterior prin intermediul a patru pereţi despărţitori: doi pereţi "verticali" (aşezaţi de la colţul la colţul , respectiv de la colţul la colţul ) şi doi pereţi "orizontali" (aşezaţi de la colţul la colţul , respectiv de la colţul la colţul ), fără a bloca ieşirile, ca în desenul alăturat.
Robotul pătrunde în ring prin colţul cu numărul sub un unghi de de grade şi cu o viteză de o unitate pe secundă. Ciocnirile cu pereţii sunt considerate perfect elastice (robotul nu-şi pierde din viteză) iar unghiul de incidenţă este egal cu cel de reflexie.
Cerință
Se cere să se determine:
- După câte secunde şi prin ce colţ al ringului va ieşi robotul.
- De câte ori se ciocneşte robotul de pereţii orizontali şi verticali, rezultând o schimbare de direcţie, până la ieşirea din ring.
Date de intrare
Fişierul de intrare reflex.in
conţine pe prima linie două numere naturale şi , separate printr-un singur spaţiu.
Date de ieșire
Fişierul de ieşire reflex.out
va conţine pe prima linie două numere naturale și , separate printr-un singur spațiu, reprezentând numărul de secunde după care robotul va ieşi din ring, iar reprezintă numărul colţului prin care acesta va ieşi. Pe a doua linie, fişierul de ieşire va conține două numere naturale şi , separate printr-un spaţiu, reprezentând numărul de ciocniri cu pereţii orizontali ai ringului, iar numărul de ciocniri cu pereţii verticali.
Restricții și precizări
- Pentru rezolvarea corectă a unei singure cerinţe se acordă din punctaj, iar pentru rezolvarea corectă a ambelor cerinţe se acordă din punctaj.
Exemplul 1
reflex.in
3 6
reflex.out
11 4
4 1
Explicație
Până la ieşire se parcurg pătrate, ieşirea se produce pe la colţul . Se produc ciocniri cu pereţii orizontali şi o ciocnire cu pereţii verticali.
Exemplul 2
reflex.in
5 7
reflex.out
13 4
2 1
Explicație
Se parcurg pătrate, ieşirea se face la colţul şi se produc ciocniri cu pereţii orizontali în punctele şi respectiv o ciocnire cu pereţii verticali în punctul .