Diferente pentru problema/spider intre reviziile #1 si #11

Diferente intre titluri:

spider
Spider

Diferente intre continut:

== include(page="template/taskheader" task_id="spider") ==
Poveste şi cerinţă...
Omul păianjen (Spiderman) sare de pe o clădire pe alta, aflată în imediata vecinătate, în nord, est, sud sau vest. Clădirile din cartierul omului păianjen au o înălţime exprimată în numere naturale şi sunt aşezate pe $m$ rânduri, câte $n$ pe fiecare rând. Spiderman va alege să sară pe una dintre clădirile vecine, care are înălţimea mai mică sau egală, iar diferenţa de înălţime este minimă. Dacă există mai multe clădiri vecine de aceeaşi înălţime, omul păianjen aplică ordinea preferenţială nord, est, sud, vest, dar nu sare încă o dată pe o clădire pe care a mai sărit. Scopul omului păianjen este acela de a reuşi să facă un număr maxim de sărituri succesive.
!problema/spider?poza.jpg!
 
h2. Cerinţă
 
Scrieţi un program care determină numărul maxim de sărituri succesive, pe care îl poate efectua, pornind de la oricare dintre clădiri, precum şi poziţiile clădirilor care formează drumul maxim.
h2. Date de intrare
Fişierul de intrare $spider.in$ ...
Fişierul de intrare $spider.in$ conţine, pe prima linie, două numere naturale, $m$ şi $n$, despărţite printr-un spaţiu. Fiecare dintre următoarele $m$ rânduri conţine $n$ numere naturale, separate prin câte un spaţiu, reprezentând înălţimile clădirilor.
h2. Date de ieşire
În fişierul de ieşire $spider.out$ ...
În fişierul de ieşire $spider.out$ va conţine, pe prima linie, un singur număr natural $k$, reprezentând numărul maxim de sărituri. Următoarele $k$ linii vor conţine câte două numere naturale, separate printr-un spaţiu, reprezentând coordonatele clădirilor care formează drumul maxim, în ordinea parcurgerii. Dacă există mai multe soluţii, în fişierul de ieşire se va scrie drumul care porneşte de la poziţia $(i, j)$ cu $i$ minim, iar dacă există mai multe soluţii cu acelaşi $i$ minim, se va scrie în fişier soluţia cu $i$ şi $j$ de valoare minimă.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $0 < m, n ≤1000$
* Înălţimile clădirilor sunt numere naturale din intervalul $[1,10 000 000]$
* În orice zonă pătratică de $2x2$ clădiri vecine există cel mult $2$ clădiri de aceeaşi înălţime.
h2. Exemplu
table(example). |_. spider.in |_. spider.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 5 5
35 38 42 40 50
34 38 30 75 50
70 78 88 86 30
39 90 88 23 25
35 80 89 90 34
| 8
5 4
5 3
4 3
3 3
3 4
2 4
2 5
1 5
1 4
|
h3. Explicaţie
...
Spiderman porneşte de pe blocul de $90$ de metri aflat în poziţia $(5, 4)$, face $8$ sărituri şi ajunge în poziţia $(1, 4)$, de unde nu mai are posibilităţi de a sări.
== include(page="template/taskfooter" task_id="spider") ==
 
== include(page="template/taskfooter" task_id="spider") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
1395