Regla 30 P81551


Statement
 

Graphic problem

pdf   zip

thehtml

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 x, sigui s el quadrat que està a sobre d’x, e el quadrat en diagonal a l’esquerra d’x, i d el quadrat en diagonal a la dreta d’x:

unit=0.45cm

(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) linestyle=dashed -(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, x estarà ocupat si i nomes si:

  • o bé e està ocupat, i s i d no ho estan,
  • o bé e no està ocupat, i almenys un entre s i d sí que ho està.

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

Entrada

L’entrada consisteix en dos noms de colors f i c, d’un natural n ≥ 1, i d’un natural a ≥ 1.

Sortida

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

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