Fişierul intrare/ieşire:reflex.in, reflex.outSursăONI 2014, clasa a 9-a
AutorLucian SilaghiAdăugată detudorv96Tudor Varan tudorv96
Timp execuţie pe test0.5 secLimită de memorie6144 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Reflex

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ţe

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 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 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
  • Pentru rezolvarea corectă a unei singure cerinţe se acordă 50% din punctaj, iar pentru rezolvarea corectă a ambelor cerinţe se acordă 100% din punctaj.

Exemplu

reflex.inreflex.outExplicaţie
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).
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content