Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2006-11-11 15:32:54.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:z.in, z.outSursăGrigore Moisil By Net 2006
AutorMihai PantisAdăugată de
Timp execuţie pe test0.025 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

ZParcurgere

Aceasta pagina a fost importata din infoarena1 si nu este inca prelucrata.
Sterge ==Include(file="template/raw")== cand esti multumit cu continutul paginii.

Z-parcurgere

Petrica are o tabla patratica de dimensiuni 2n*2n. Ar vrea sa scrie pe patratelele tablei numere naturale cuprinse intre 1 si 2n*2n conform unei parcurgeri mai deosebite pe care o numeste Z-parcurgere. O Z-parcurgere viziteaza recursiv cele patru cadrane ale tablei in ordinea: stanga-sus, dreapta-sus, stanga-jos, dreapta-jos. De exemplu, daca n=1, ordinea vizitarii patratelelor de pe tabla este in forma de Z, ca in figura urmatoare:

12
34

Daca n=2, Petrica va traversa patratelele in ordinea:

=.1=.256
3478
9101314
11121516

Cerinta

La un moment dat Petrica ar vrea sa stie ce numar de ordine trebuie sa scrie conform Z-parcurgerii pe anumite patratele date prin coordonatele lor ( x, y ). Petrica incepe umplerea tablei intotdeauna din coltul din stanga-sus.

Date de intrare

Pe prima linie a fisierului de intrare z.in se afla doua numere naturale N si K, unde N reprezinta faptul ca tabla are dimensiunea 2n*2n, iar K este numarul patratelelor pe care Petrica ar vrea sa stie ce numar va trebui sa scrie pe ele. Pe fiecare din urmatoarele K linii se afla cate doua numere naturale ( x, y ), care reprezinta linia, respectiv coloana unui patratel ales. A i+1-a linie descrie al i-lea patratel ( i = 1, 2, ..., k ).

Date de iesire

Pe cele K linii ale fisierului de iesire z.out se va scrie cate un numar natural, corespunzator numarului pe care Petrica il va scrie pe patratelul ales. A i-a linie descrie al i -lea patratel ( i = 1, 2, ..., k ).

Restrictii si precizari

  • 1 <= N <= 15
  • 1 <= K <= 1.000
  • 1 <= x, y <= 2n

Exemplu

z.inz.out
2 213
3 315
4 3
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?