Blitspin P38397


Statement
 

Graphic problem

pdf   zip

0.62 L’algorisme Blitspin és una manera interessant de rotar una imatge (2n,2n)(2^n, 2^n) en nn passos, marcats amb una kk entre 1 i nn. A cada pas kk, cadascun dels 4k14^{k-1} subquadrats de mida (2n+1k,2n+1k)(2^{n+1-k}, 2^{n+1-k}) es talla en quatre subquadrats de mida (2nk,2nk)(2^{n-k}, 2^{n-k}). 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)(2^8, 2^8) (k=0k=0, a dalt a l’esquerra) després de 8 passos, fins a obtenir el logo girat (k=8k=8, a baix a la dreta).

0.45

Entrada

L’entrada comença amb dos enters nn i kk, cadascun en una línia, amb 0kn80 \le k \le n \le 8. Segueix una matriu de mida (2n,2n)(2^n, 2^n). 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 kk 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