Fişierul intrare/ieşire:fractal.in, fractal.outSursăpreONI 2004
AutorCosmin Silvestru NegruseriAdăugată de
Timp execuţie pe test0.25 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Fractal

Hilbert a gasit o curba care poate trece prin fiecare punct al spatiului, aceasta curba se bazeaza pe o constructie recursiva. Numim curba de ordin Hilbert de ordinul K curba curba realizata dupa urmatoarele reguli ce trece prin fiecare nod al unei grile de 2K*2K noduri si trece prin noduri vecine ale grilei.
Curba Hilbert de ordinul 1 este o curba simpla:

Vor fi descries in urmatoarele imagini trecerile de la o curba de ordin x la o curba de ordin x+1:
Ordin 1 -> Ordin 2

Ordin 2 -> Ordin 3

Ordin 3 -> Ordin 4

Ordin 4 -> Ordin 5

Se dau ca date de intrare din fisierul fractal.in numerele K, x si y, unde K este ordinul unei curbe, iar x si y sunt coordanate intregi in interiorul unui patrat de dimensiune 2K*2K. Se cere sa scrieti in fisierul de iesire fractal.out in cati pasi se ajunge la coordonatele (x,y) daca punctele din patrat sunt parcurse in ordinea data de curba Hilbert de ordin K.

Restrictii si precizari

  • 1 ≤ k ≤ 15
  • 1 ≤ x,y ≤ 2K
  • Coordonatele x si y sunt intre 1 si 2K inclusiv (x reprezinta coloana, y linia), iar coltul din stanga sus are coordonatele (1,1).

Exemple

fractal.infractal.out
1 1 10 
3 2 313
2 4 115
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content