== include(page="template/taskheader" task_id="spirala") ==
==Include(page="template/taskheader" task_id="spirala")==
Poveste ...
Se considera un tablou bidimensional care contine numere intregi. Numim spirala acel drum prin matrice care, pornind din coltul stanga sus, traverseaza element dupa element prima linie, coboara pe ultima coloana, traverseaza ultima linie de la dreapta la stanga, urca pe prima coloana, apoi continua cu cea de-a doua linie, penultima coloana, penultima linie si a doua coloana etc. Drumul se opreste undeva in tablou, dupa ce toate elementele au fost traversate. Fiecare element se _atinge_ o singura data.
h2. Cerinta
...
Sa se stabileasca daca spirala tabloului dat formeaza sau nu o progresie aritmetica. Prin progresie aritmetica intelegem o insiruire de numere in care diferenta dintre oricare doua numere consecutive este aceeasi (pentru un sir de $N$ numere, $a{~i~} - a{~i+1~} = dif$, {$i = 1, 2, ..., n - 1$}).
h2. Restrictii
...
In cazul in care raspunsul este afirmativ, sa se determine valoarea ultimului element din spirala, in caz contrar sa se afiseze valorile primelor doua elemente din spirala ale caror diferenta nu este egala cu diferenta dintre valorile elementelor verificate.
h2. Date de intrare
...
Pe prima linie a fisierului de intrare $spirala.in$ se afla doua numere naturale ({$nrlin$} si {$nrcol$}), reprezentand numarul liniilor, respectiv numarul coloanelor din tablou. Pe urmatoarele $nrlin$ linii se afla cate $nrcol$ numere intregi. Oricare doua numere din fisier sunt despartite prin cate un spatiu.
h2. Date de iesire
...
* Daca spirala formeaza progresie aritmetica, pe prima linie a fisierului de iesire $spirala.out$ se va scrie cuvantul $DA$. Pe urmatoarea linie se va scrie valoarea ultimului element din spirala.
* Daca spirala nu formeaza progresie aritmetica, pe prima linie a fisierului de iesire $spirala.out$ se va scrie cuvantul $NU$. Pe urmatoarea linie se vor scrie doua numere naturale, reprezentand primele doua numere din tabloul dat in cazul carora nu este indeplinita proprietatea de progresie aritmetica.
h2. Restrictii si precizari
* $2 ≤ nrlin, nrcol ≤ 100$
* $-32000 ≤ tablou{~i,j~} ≤ 32000 (i = 1, 2, ..., nrcol, j = 1, 2, ..., nrlin)$
h2. Exemplu
h2. Exemple
| spirala.in | spirala.out |
| linia1
linia2
linia3
| linia1
linia2
|
table(example). |_. spirala.in|_. spirala.out|_. spirala.in|_. spirala.out|
|3 3
1 3 5
15 17 7
13 11 9
|DA
17
|2 3
-1 -3 -5
-15 -5 -7
|NU
-7 -5|
== include(page="template/taskfooter" task_id="spirala") ==
==Include(page="template/taskfooter" task_id="spirala")==