Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-05-07 10:38:49.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:iepuras.in, iepuras.outSursăONI 2008, clasa a 9-a
AutorCarmen PopescuAdăugată degabitzish1Gabriel Bitis gabitzish1
Timp execuţie pe test0.025 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Iepuras

Un iepuras se gaseste intr-o gradina plina de surprize. Harta gradinii poate fi reprezentata sub forma unei table dreptunghiulare cu m linii, numerotate de la 1 la m de sus in jos, si n coloane, numerotate de la 1 la n de la stanga la dreapta. In fiecare celula a acestei gradini se poate gasi cel mult una dintre urmatoarele surprize: sageata, pom, zid, trapa, morcov, bomba.
O sageata indica una din directiile nord, sud, est, vest. Odata ajuns intr-o celula continand o astfel de sageata iepurasul isi va continua deplasarea in sensul indicat de sageata, iar aceasta dispare.
Intr-o celula in care se gaseste un pom sau un zid iepurasul nu poate sa patrunda, insa daca se “loveste” de un pom, el isi pastreaza directia, insa schimba sensul (daca se deplasa spre nord, isi va schimba sensul spre sud, daca se deplasa spre est, se va deplasa dupa aceea spre vest etc).
Daca iepurasul intra intr-o celula continand o trapa, toate zidurile aflate pe teren dispar si vor aparea alte ziduri, în pozitii precizate. Daca iepurasul va trece din nou printr-o celula continand o trapa, zidurile nou construite dispar si vor reaparea zidurile initiale. Mai exact exista doua grupe de ziduri care comuta la fiecare trecere printr-o celula care contine o trapa.
Daca iepurasul va trece de doua ori prin vecinatatea unei celule continand o bomba (adica prin celulele
invecinate la sud, nord, est sau vest cu celula continand bomba), bomba va exploda iar iepurasul se
transforma instantaneu in ingeras. De asemenea, daca iepurasul intra intr-o celula continand o bomba se
transforma instantaneu în ingeras. Iepurasul va rontai toti morcovii care ii ies în cale. Evident ca daca trece a doua oara prin aceeasi celula, la a doua trecere nu va mai gasi morcov.
Surprizele din gradina sunt codificate astfel: 1 pentru sageata spre nord, 2 pentru sageata spre vest, 3 pentru sageata spre sud, 4 pentru sageata spre est, 5 pentru pom, 6 pentru bomba, 7 pentru morcov, 8 pentru zid, 9 pentru trapa. Casutele libere de pe harta gradinii se codifica cu 0.
Initial, se cunosc pozitia si sensul de deplasare ale iepurasului. Expeditia acestuia se termina in urmatoarele situatii:

  • la explozia unei bombe, caz in care se transforma in ingeras;
  • la parasirea gradinii (adica la iesirea în afara zonei dreptunghiulare date), caz in care se rataceste;
  • in momentul in care reuseste sa rontaie toti morcovii, caz in care este fericit.

Cerinta

Fiind data harta gradinii se cere sa se determine starea finala a iepurasului (ingeras, ratacit respectiv fericit), numarul de morcovi rontaiti pana in momentul terminarii expeditiei, precum si numarul de pasi pe care ii face iepurasul pana la acest moment.

Date de intrare

Fisierul de intrare iepuras.in ...

Date de iesire

In fisierul de iesire iepuras.out ...

Restrictii

  • ... ≤ ... ≤ ...

Exemplu

iepuras.iniepuras.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicatie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?