Regla 30 P81551


Statement
 

Graphic problem

pdf   zip

Considereu una fila infinita de quadrats, alguns dels quals estan ocupats. A partir d’aquesta fila inicial, es poden obtenir tantes files com es vulgui, de dalt cap abaix, sempre a partir de la fila immediatament superior, segons aquesta regla: per a cada nou quadrat xx, sigui ss el quadrat que està a sobre d’xx, ee el quadrat en diagonal a l’esquerra d’xx, i dd el quadrat en diagonal a la dreta d’xx:

(12,10) (3,3)(9,3) (3,5)(9,5) (3,7)(9,7) (3,3)(3,7) (5,3)(5,7) (7,3)(7,7) (9,3)(9,7) (3,3)(3,1) (5,3)(5,1) (7,3)(7,1) (9,3)(9,1) (3,7)(3,9) (5,7)(5,9) (7,7)(7,9) (9,7)(9,9) (1,3)(3,3) (1,5)(3,5) (1,7)(3,7) (9,3)(11,3) (9,5)(11,5) (9,7)(11,7) (4,6)e (6,6)s (8,6)d (6,4)x

Llavors, xx estarà ocupat si i nomes si:

  • o bé ee està ocupat, i ss i dd no ho estan,

  • o bé ee no està ocupat, i almenys un entre ss i dd sí que ho està.

Començant amb una fila amb un sol quadrat marcat, obteniu les nn files següents.

Entrada

L’entrada consisteix en dos noms de colors ff i cc, d’un natural n1n \ge 1, i d’un natural a1a \ge 1.

Sortida

Cal generar una imatge de les dimensions adequades de color de fons ff, amb n+1n + 1 files i 2n+12n + 1 columnes d’amplada aa. La primera fila només ha de tenir ocupat el quadrat central. Les altres nn files s’han d’obtenir a partir de l’anterior segons s’ha explicat. Pinteu cada quadrat ocupat de color cc.

Public test cases
  • Input

    Azure
    Navy
    15
    20
    

    Output

    sample-1.png

     (620×320)

  • Input

    Beige
    Crimson
    80
    5
    

    Output

    sample-2.png

     (805×405)

  • Information
    Author
    Víctor López
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python