Diferente pentru problema/iepuras intre reviziile #5 si #16

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="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.
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, In 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 in ingeras. Iepurasul va rontai toti morcovii care ii ies in cale. Evident ca daca trece a doua oara prin aceeasi celula, la a doua trecere nu va mai gasi morcov.
 
Daca iepurasul intra intr-o celula continand o trapa, toate zidurile aflate pe teren dispar si vor aparea alte ziduri, in 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 in ingeras. Iepurasul va rontai toti morcovii care ii ies in 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;
h2. Date de iesire
Fisierul de iesire $iepuras.out$ va contine pe prima sa linie unul dintre cuvintele INGERAS, RATACIT
respectiv FERICIT, corespunzator starii finale a iepurasului. A doua linie a fisierului va contine doua
numere intregi separate printr-un spatiu, reprezentand linia si coloana ultimei pozitii de pe teren a iepurasului, adica pozitia in care a murit, sau in care a devenit fericit, respectiv ultima pozitie a sa de pe teren, inainte de a se rataci.
A treia linie a fisierului va contine doua numere intregi separate printr-un spatiu, reprezentând numarul de morcovi culesi pana in momentul terminarii expeditiei, respectiv numarul de pasi pe care ii face iepurasul pana ajunge in starea finala.
Fisierul de iesire $iepuras.out$ va contine pe prima sa linie unul dintre cuvintele INGERAS, RATACIT respectiv FERICIT, corespunzator starii finale a iepurasului. A doua linie a fisierului va contine doua numere intregi separate printr-un spatiu, reprezentand linia si coloana ultimei pozitii de pe teren a iepurasului, adica pozitia in care a murit, sau in care a devenit fericit, respectiv ultima pozitie a sa de pe teren, inainte de a se rataci.
A treia linie a fisierului va contine doua numere intregi separate printr-un spatiu, reprezentand numarul de morcovi culesi pana in momentul terminarii expeditiei, respectiv numarul de pasi pe care ii face iepurasul pana ajunge in starea finala.
h2. Restrictii
* $... ≤ ... ≤ ...$
* Pozitia initiala a iepurasului este una valida, adica este o celula libera din interiorul terenului;
* Pentru datele de test, se asigura ca iepurasul va face un numar finit de pasi pana la terminarea expeditiei sale;
* $1 ≤ m, n ≤ 200$
* $0 ≤ t ≤ 40$
* Numarul maxim de ziduri aflate la un moment dat pe teren este de cel mult 50, si este posibil ca la un moment dat sa nu existe niciun zid pe teren.
* Se garanteaza ca pentru datele de intrare iepurasul nu poate ajunge simultan in doua din cele trei stari.
* Pomii si trapele sunt obiecte care raman permanent in teren, in pozitiile lor initiale.
* Intr-o celula a gradinii se poate gasi la un moment dat o singura surpriza (pom, zid, trapa, morcov, sageata, bomba).
h2. Exemplu
table(example). |_. iepuras.in |_. iepuras.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|10 15
7 1 4
0 0 6 0 5 5 0 7 0 0 0 0 0 0 0
0 0 0 0 5 5 0 0 4 0 0 0 0 0 3
0 5 5 0 5 5 0 0 0 0 0 0 0 0 0
0 5 5 0 5 5 0 1 7 0 0 7 0 0 2
0 0 0 0 5 5 0 0 0 0 0 0 0 0 0
0 0 0 0 0 5 0 0 0 0 0 0 0 0 0
0 3 0 0 0 5 6 0 0 5 5 5 0 0 0
0 7 0 0 0 0 0 0 0 0 0 0 0 5 0
0 4 0 0 0 7 0 0 3 5 0 0 0 5 0
0 6 0 0 0 0 0 0 1 5 0 0 0 5 0
0
|FERICIT
1 8
5 37
|
|4 3
2 1 3
0 0 0
0 0 0
9 6 7
8 0 0
4
4 3
1 2
1 3
2 3
|RATACIT
4 1
0 3
|
|6 5
2 1 3
0 0 0 7 0
0 0 0 0 0
9 6 7 2 0
8 0 0 0 0
7 8 0 0 0
4 8 9 1 0
4
4 4
5 4
1 5
2 5
|INGERAS
3 3
2 11
|
|5 4
2 1 3
4 0 7 0
0 0 0 0
0 0 0 0
5 0 0 0
0 0 0 0
0
|FERICIT
1 3
1 5
|
h3. Explicatie
 
...
== include(page="template/taskfooter" task_id="iepuras") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
3067