Un quad-tree és una codificació d’imatges dos-dimensionals de la manera recursiva següent: Un quad-tree de nivell 0 és un píxel (un quadradet) blanc o negre. Un quad-tree de nivell n > 0 consisteix en 4 quad-trees de nivell n − 1, cadascun dels quals codifica un quart de la imatge: el quart de dalt a l’esquerra, el de dalt a la dreta, el de baix a l’esquerra, i el de baix a la dreta, numerats entre 0 i 3 en aquest ordre. Un quad-tree de nivell n té mida 2n × 2n.
Feu un programa que pinti quadrats d’un quad-tree inicialment tot blanc, i que n’escrigui el contingut. L’ordre per escriure és “PRINT”. Cada ordre per pintar es codifica amb un string tal i com s’ha explicat anteriorment, acabat amb ‘b’ o ‘n’. Aquest últim caràcter indica si cal pintar de blanc (amb un punt) o de negre (amb ‘X’).
Entrada
L’entrada consisteix en diversos casos, cadascun amb n seguida de diverses ordres correctes. L’ordre per parar cada cas és “STOP”. Poseu suposar 0 ≤ n ≤ 8.
Sortida
Per a cada ordre “PRINT”, escriviu la imatge actual, seguida d’una línia amb 10 guions.
Input
3 PRINT 13n PRINT 2n 230b PRINT STOP 1 n PRINT 0n PRINT STOP 0 PRINT STOP
Output
........ ........ ........ ........ ........ ........ ........ ........ ---------- ........ ........ ......XX ......XX ........ ........ ........ ........ ---------- ........ ........ ......XX ......XX XXXX.... XXXX.... XX.X.... XXXX.... ---------- XX XX ---------- XX XX ---------- . ----------