== include(page="template/taskheader" task_id="cochilie") ==
Poveste şi cerinţă...
O matrice se numeşte _cochilie de ordin_ $N$, sau mai simplu _cochilie_, dacă a fost construită în funcţie de un număr natural $N$ nenul după următoarea regulă:
* Cochilia este formată iniţial dintr-un pătrat de latură $1$ cu valoarea $1$.
* Pentru fiecare pas $i$ cu valorile $2, 3, ..., N$ la cochilia deja existentă, se va alătura pe rând la $DREAPTA$, $JOS$, $STÂNGA$, $SUS$, în mod repetat în această ordine, câte un pătrat în care toate elementele au valoarea $i$, iar lungimea laturii pătratului nou corespunde cu latura cochiliei la care se lipeşte.
O cochilie de ordin $5$ se formează în $5$ paşi astfel:
!{width:600px}problema/cochilie?cochilie5a.png!
Liniile şi coloanele sunt numerotate de sus în jos şi de la stânga la dreapta începând cu valoarea 1.
h2. Cerinţă
Cunoscând valorile numerelor naturale $N$ şi $P$, va trebui să răspundeţi la următoarele întrebări:
* Ce dimensiuni are cochilia de ordin $N$?
* Ce elemente se află pe linia $P$ a cochiliei de ordin $N$?
h2. Date de intrare
Fişierul de intrare $cochilie.in$ ...
Pe prima linie din fişierul de intrare $cochilie.in$ se va găsi valoarea $C$, care poate să aibă una dintre valorile 1 sau 2.
* *Dacă valoarea lui $C$ este 1*, atunci pe linia următoare se va găsi valoarea lui $N$.
* *Dacă valoarea lui $C$ este 2*, atunci pe linia următoare se vor găsi valorile lui $N$ şi $P$ separate printr-un spaţiu.
h2. Date de ieşire
În fişierul de ieşire $cochilie.out$ ...
Datele de ieşire se vor afişa pe prima linie a fişierului de ieşire $cochilie.out$ în funcţie de valoarea lui $C$ astfel:
* *Dacă valoarea lui $C$ este 1*, atunci se vor afişa $NRLIN$ şi $NRCOL$ separate printr-un spaţiu, reprezentând numărul de linii, respectiv numărul de coloane ale cochiliei de ordin $N$.
* *Dacă valoarea lui $C$ este 2*, atunci se vor afişa elementele de pe linia $P$ ale cochiliei de ordin $N$, separate prin câte un spaţiu.
h2. Restricţii
h2. Restricţii şi precizări
* $... ≤ ... ≤ ...$
* $1 < N < 30$
* Linia $P$ întotdeauna se referă la o linie validă a cochiliei.
* Pentru teste în valoare de *8 puncte* avem $C = 1$.
* Pentru alte teste în valoare de *36 de puncte* avem $C = 2$ şi $N ≤ 17$.
* Pentru alte teste în valoare de *20 de puncte* avem $C = 2$ şi $P$ se referă la prima sau ultima linie a cochiliei.
* Pentru alte teste în valoare de *36 de puncte* avem $C = 2$ fără alte restricţii.
h2. Exemplu
table(example). |_. cochilie.in |_. cochilie.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
table(example). |_. cochilie.in |_. cochilie.out |_. Explicaţie |
| 1 5
| 8 5
| Cochilia de ordin 5 are 8 linii şi 5 coloane.
|
h3. Explicaţie
...
| 2
5 6
| 4 4 4 1 2
| Linia a 6-a a cochiliei de ordin 5 este formată din numerele 4 4 4 1 2.
|
== include(page="template/taskfooter" task_id="cochilie") ==