ghem

Time limit: 0.05s Memory limit: 64MB Input: ghem.in Output: ghem.out

Se consideră un tablou cu NN linii și NN coloane ce conține numerele naturale de la 11 la N2N^2 așezate consecutiv, întâi pe linii și apoi pe coloane, începând cu 11 în colțul din stânga sus, conform exemplului alăturat (N=4)(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 11 la N2N^2, într-o anumită ordine.
Exemple: dacă N=4N = 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,101, 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,1016, 12, 8, 4, 3, 2, 1, 5, 9, 13, 14, 15, 11, 7, 6, 10

Cerință

Să se scrie un program care citește:

  • un numărul natural NN, ce reprezintă numărul de linii și de coloane al unui tablou ce conține numerele naturalede la 11 la N2N^2;
  • două numere naturale XX și YY, ce reprezintă coordonatele colțului de unde se face derularea:
    {(1,1)\{ (1,1) – stânga sus; (1,N)(1,N) – dreapta sus; (N,N)(N,N) – dreapta jos; (N,1)(N,1) – stânga jos;}\}
  • un caracter DD (majusculă), ce reprezintă direcția pe care se face tragerea (O – orizontală și V – 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 NN, pe a doua linie două numere naturale XX și YY despărțite printr-un spațiu, iar pe a treia linie caracterul DD, 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

  • 2N5002 \leq N \leq 500
  • (X,Y)(1,1),(1,N),(N,N),(N,1)(X,Y) \in {(1,1), (1,N), (N,N), (N,1)};
  • DD 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,161, 2, 3, 4, 8, 12, 16, 15,14,13,9,5,6,7,11,1015, 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,216, 12, 8, 4, 3, 2, 1,5,9,13,14,15,11,7,6,101, 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,53, 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,57, 8, 9, 6, 3, 2, 1, 4, 5

Log in or sign up to be able to send submissions!