Diferente pentru problema/spirala intre reviziile #1 si #5

Nu exista diferente intre titluri.

Diferente intre continut:

==Include(page="template/taskheader" task_id="spirala")==
 
==Include(page="template/raw")==
 
 
 
Spirala
 
 
 
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 (adica pentru un sir de n numere a[i] - a[i+1] = dif, i = 1, 2, ..., n - 1).
 
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 -L- nrlin, nrcol -L- 100;
 
. -32000 -L- tablou[ij] -L- 32000, (i = 1, 2, ..., nrcol, j = 1, 2, ..., nrlin).
 
 
 
Exemple
 
spirala.in spirala.out
 
3 3 DA
 
1 3 5 17
 
15 17 7
 
13 11 9
spirala.in spirala.out
 
2 3 NU
 
-1 -3 -5 -7 -5
==Include(page="template/taskheader" task_id="spirala")==
 
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$}).
 
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. Exemple
 
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")==
-15 -5 -7
==Include(page="template/taskfooter" task_id="spirala")==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
965