.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » reflex

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
reflex


Timp maxim de execuţie / test:
0.2s
Memorie totala disponibilă / stivă:
2MB / 1MB

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 N x M pătrate identice, cu latura de o unitate, aşezate pe N linii şi M coloane.
Robotul poate părăsi ringul numai pe la colţuri, acestea fiind numerotate de la 1 la 4, colţul cu numărul 1 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 1 la colţul 4, respectiv de la colţul 2 la colţul 3) şi doi pereţi “orizontali” (aşezaţi de la colţul 1 la colţul 2, respectiv de la colţul 3 la colţul 4), fără a bloca ieşirile, ca în desenul alăturat.
Robotul pătrunde în ring prin colţul cu numărul 1 sub un unghi de 45 grade şi cu o viteză de un pătrat/s. 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:
a) după câte secunde şi prin ce colţ al ringului va ieşi robotul;
b) 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 N şi M, 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 S şi C, separate printr-un singur spaţiu, S reprezentând numărul de secunde după care robotul va ieşi din ring, iar C reprezentând 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 H şi V, separate printr-un spaţiu, H reprezentând numărul de ciocniri cu pereţii orizontali ai ringului, iar V numărul de ciocniri cu pereţii verticali.

Restricţii

• 3 ≤ N, M ≤ 2 000 000 000

Exemple

reflex.inreflex.outExplicaţii
3 6 11 4 4 1 Până la ieşire se parcurg 11 pătrate, ieşirea se produce pe la colţul 4. Se produc 4 ciocniri cu pereţii orizontali şi o ciocnire cu pereţii verticali.


5 7 13 4 2 1 Se parcurg 13 pătrate, ieşirea se face la colţul 4 şi de produc 2 ciocniri cu pereţii orizontali (în punctele a şi c respectiv o ciocnire cu pereţii verticali în punctul b).



autor: Prof. Lucian Silaghi
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
Chestionare recomandate
surse trimise | ajutor