Blitspin P38397


Statement
 

Graphic problem

pdf   zip

html
L’algorisme Blitspin és una manera interessant de rotar una imatge (2n, 2n) en n passos, marcats amb una k entre 1 i n. A cada pas k, cadascun dels 4k−1 subquadrats de mida (2n+1−k, 2n+1−k) es talla en quatre subquadrats de mida (2nk, 2nk). Aquests quatre subquadrats es mouen de manera que cadascun passa a ocupar el lloc del que tenia a continuació en el sentit de les agulles del rellotge.

A la imatge, per files d’esquerra a dreta, podeu veure com es transforma un logo de l’OICat de mida (28, 28) (k=0, a dalt a l’esquerra) després de 8 passos, fins a obtenir el logo girat (k=8, a baix a la dreta).

Entrada

L’entrada comença amb dos enters n i k, cadascun en una línia, amb 0 ≤ kn ≤ 8. Segueix una matriu de mida (2n, 2n). Cada lletra representa la inicial d’un dels nou colors següents: ‘Black’, ‘Cyan’, ‘Green’, ‘MediumBlue’, ‘Orange’, ‘Purple’, ‘Red’, ‘White’, ‘Yellow’.

Sortida

Genereu la imatge després d’aplicar k iteracions de l’algorisme.

Public test cases
  • Input

    1
    0
    RY
    MG
    

    Output

    sample-1.png

     (2×2)

  • Input

    3
    1
    BBBBROYG
    BBBROYGC
    BBROYGCM
    BROYGCMP
    ROYGCMPW
    OYGCMPWW
    YGCMPWWW
    GCMPWWWW
    
    

    Output

    sample-2.png

     (8×8)

  • Input

    3
    3
    BBBBROYG
    BBBROYGC
    BBROYGCM
    BROYGCMP
    ROYGCMPW
    OYGCMPWW
    YGCMPWWW
    GCMPWWWW
    

    Output

    sample-3.png

     (8×8)

  • Information
    Author
    Félix Moreno
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python