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 valoarea1
. - Pentru fiecare pas
I
cu valorile2
,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 valoareaI
, 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:
Liniile și coloanele sunt numerotate de sus în jos și de la stânga la dreapta începând cu valoarea 1
.
Cerința
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 ordinN
?
Date de intrare
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
este1
, atunci pe linia următoare se va găsi valoarea luiN
. - Dacă valoarea lui
C
este2
, atunci pe linia următoare se vor găsi valorile luiN
șiP
separate printr-un spațiu.
Date de ieșire
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
este1
, atunci se vor afișaNRLIN
șiNRCOL
separate printr-un spațiu, reprezentând numărul de linii, respectiv numărul de coloane ale cochiliei de ordinN
. - Dacă valoarea lui
C
este2
, atunci se vor afișa elementele de pe liniaP
ale cochiliei de ordinN
, separate prin câte un spațiu.
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
șiN ≤ 17
. - Pentru alte teste în valoare de 20 de puncte avem
C = 2
șiP
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.
Exemplul 1:
cochilie.in
1 5
cochilie.out
8 5
Explicație
Cochilia de ordin 5
are 8
linii și 5
coloane.
Exemplul 2:
cochilie.in
2 5 6
cochilie.out
4 4 4 1 2
Explicație
Linia a 6
-a a cochiliei de ordin 5
este formată din numerele 4 4 4 1 2
.