Se consideră un tablou cu N
linii și N
coloane ce conține numerele naturale de la 1
la N
2
așezate consecutiv, întâi pe linii și apoi pe coloane, începând cu 1
în colțul din stânga sus, conform exemplului alăturat (N = 4
).
Dacă se derulează elemente tabloului, asemănător cu un ghem, prin rotirea tabloului în jurul centrului (intersecția diagonalelor), trăgând de unul din colțurile sale pe orizontală sau pe verticală, către exterior, se obține un șir cu numerele de la 1
la N
2
, într-o anumită ordine.
Exemple: dacă N = 4
și se va trage de:
- colțul din stânga sus – pe orizontală, se va obține șirul:
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
; - colțul din dreapta jos – pe verticală, se va obține șirul:
16 12 8 4 3 2 1 5 9 13 14 15 11 7 6 10
;
Cerința
Să se scrie un program care citește:
- un numărul natural
N
, ce reprezintă numărul de linii și de coloane al unui tablou ce conține numerele naturale
de la1
laN
2
; - două numere naturale
X
șiY
, ce reprezintă coordonatele colțului de unde se face derularea:
{(1,1) – stânga sus
;(1,N) – dreapta sus
;(N,N) – dreapta jos
;(N,1) – stânga jos;
} - un caracter
D
(majusculă), ce reprezintă direcția pe care se face tragerea (O
– orizontală șiV
– verticală).
și afișează șirul de numere ce rezultă din desfășurarea tabloului, începând cu colțul de unde se face tragerea și pe
direcția de tragere.
Date de intrare
Fișierul de intrare ghem.in
conţine pe prima linie numărul natural N
, pe a doua linie două numere naturale X
și Y
despărțite printr-un spațiu, iar pe a treia linie caracterul D
, având semnificația de mai sus.
Date de ieșire
Fișierul de ieșire ghem.out
va conţine pe primul rând șirul de numere obținut prin desfășurarea tabloului.
Între oricare două numere succesive va exista un singur spațiu.
Restricții și precizări
2 ≤ N ≤ 500
•(X,Y)
aparține mulțimii{(1,1), (1,N), (N,N), (N,1)}
;
•D
aparține mulțimii{’O’,’V’}
– majuscule;
Exemplul 1:
ghem.in
4 1 1 O
ghem.out
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
Explicație
Matricea alăturată se desfășoară “trăgând” de colțul din stânga sus în direcție orizontală obținându-se șirul: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
Exemplul 2:
ghem.in
4 4 4 V
ghem.out
16 12 8 4 3 2 1 5 9 13 14 15 11 7 6 10
Explicație
Matricea alăturată se desfășoară “trăgând” de colțul din dreapta jos în direcție verticală obținându-se șirul: 16 12 8 4 3 2 1 5 9 13 14 15 11 7 6 10
Exemplul 3:
ghem.in
3 1 3 V
ghem.out
3 6 9 8 7 4 1 2 5
Explicație
Matricea alăturată se desfășoară “trăgând” de colțul din dreapta sus în direcție verticală obținându-se șirul: 3 6 9 8 7 4 1 2 5
Exemplul 4:
ghem.in
3 3 1 O
ghem.out
7 8 9 6 3 2 1 4 5
Explicație
Matricea alăturată se desfășoară “trăgând” de colțul din stânga jos în direcție orizontală obținându-se șirul: 7 8 9 6 3 2 1 4 5