Diferente pentru problema/distractie intre reviziile #2 si #13

Diferente intre titluri:

distractie
Distractie

Diferente intre continut:

== include(page="template/taskheader" task_id="distractie") ==
Poveste şi cerinţă...
Adrian, copilul minune al informaticii, a descoperit in sfarsit comoara de noroc din spatele casei si a fost recompensat cu primul sau job: zugrav. Locul sau de munca are forma unei matrici cu *N* linii si *M* coloane, iar el initial se afla in casuta din stanga-sus *(1, 1)* si vrea sa ajunga in casuta din dreapta-jos *(N, M)*. Fiecare casuta din matrice are asociata o culoare, reprezentata de un numar natural cuprins intre *1* si *2000*. Adrian, in timpul calatoriei sale, trebuie sa satisfaca urmatoarele conditii:
 
* dintr-o casuta *(i, j)*, el se poate deplasa doar in casuta adiacenta de la dreapta *(i, j+1)* sau in casuta de jos *(i+1, j)* (nu poate depasi granitele matricei).
* casuta urmatoare in care se deplaseaza trebuie sa aiba aceeasi culoare ca casuta curenta.
 
A doua conditie nu poate fi indeplinita intotdeauna, insa Adrian are la dispozitie versuri profunde pe care daca le canta, camerele isi schimba culoarea. Astfel, atunci cand Adrian canta, la alegerea lui se intimpla unul dintre urmatoarele doua evenimente:
 
* culoarea casutei curente (in care se afla) se schimba intr-o culoare pe care o alege Adrian.
* culorea unei casute adiacente (stanga, dreapta, sus si jos) casutei in care se afla Adrian isi va schimba culoarea in una pe care el o alege.
 
Determinati *numarul minim* de cantece pe care Adrian trebuie sa le cante ca sa ajunga din casuta *(1, 1)* in casuta *(N, M)*, indeplinind toate conditiile impuse.
h2. Date de intrare
Fişierul de intrare $distractie.in$ ...
Fisierul de intrare $distractie.in$ contine pe prima linie, despartite prin cate un spatiu, doua numere naturale *N* si *M*, reprezentand numarul de linii, respectiv de coloane ale matricei. Pe urmatoarele *N* linii se afla cate *M* numere naturale cuprinse intre 1 si 2000, reprezentand culoarea fiecarei casute din matrice.
h2. Date de ieşire
În fişierul de ieşire $distractie.out$ ...
În fisierul de ieşire $distractie.out$ se va scrie pe prima linie un singur numar: numarul minim de cantece pe care Adrian trebuie sa le cante astfel incat sa poata ajunge la destinatie, indeplinind toate conditiile impuse lui.
h2. Restrictii si precizari
* $1 ≤ N, M ≤ 800$
* $1 ≤ elementele din matrice ≤ 2000$
* $1 ≤ toate numerele din matrice ≤ 2000$
h2. Exemplu
h3. Explicaţie
Un scenariu posibil este urmatorul: Marcel pleaca din casuta (1, 1) si merge pana in casuta (1, 3), unde va aplica prima vraja: schimba culoarea casutei curente din 1 in 2, pentru a se putea deplasa la dreapta. Continua drumul (pe ultima coloana) si ajunge pe pozitia (2, 4), unde va schimba culoarea casutei adiacente (3, 4) din 3 in 2, pentru a putea ajunge la finalul drumului.
Un scenariu posibil este urmatorul: Adrian pleaca din casuta (1, 1) si merge pana in casuta (1, 3), unde va canta un cantec si va schimba culoarea casutei curente din 1 in 2, pentru a se putea deplasa la dreapta. Continua drumul (pe ultima coloana) si ajunge pe pozitia (2, 4), unde va canta al doilea cantec si va schimba culoarea casutei adiacente (3, 4) din 3 in 2, pentru a putea ajunge la pasul urmator la finalul drumului.
== include(page="template/taskfooter" task_id="distractie") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.