La sfida
Data una n x n
matrice di numeri interi conn >= 2
1 2 3 4
e un elenco di numeri interi con esattamente 2n
elementi
[1,2, -3, -1]
emette la matrice ruotata. Questa matrice è realizzata nel modo seguente:
- Prendi il primo numero intero nell'elenco e ruota la prima riga a destra di questo valore.
- Prendi il numero intero successivo e ruota la prima colonna verso il basso di questo valore.
- Prendi il numero intero successivo e ruota la seconda riga a destra di questo valore, ecc. Fino a quando non hai ruotato una volta ogni riga e colonna della matrice.
L'elenco può contenere numeri interi negativi, il che significa che si sposta la riga / colonna a sinistra / in alto anziché a destra / in basso. Se il numero intero è zero, non ruotare la riga / colonna.
Esempio usando l'input sopra
Elemento elenco Matrice Spiegazione -------------------------------------------------- ---------- 1 2 1 Ruota la prima fila a destra di 1 3 4 2 2 1 Ruota la 1a colonna verso il basso di 2 3 4 -3 2 1 Ruota la seconda fila a sinistra di 3 4 3 -1 2 3 Ruota la seconda colonna in su di 1 4 1
Regole
- È possibile scegliere il formato di input più conveniente. Metti in chiaro quale usi.
- Funzione o programma completo consentiti.
- Regole predefinite per input / output.
- Si applicano scappatoie standard .
- Questo è code-golf , quindi vince il conteggio dei byte più basso. Tiebreaker è una presentazione precedente.
Casi test
Il formato di input qui è un elenco di elenchi per la matrice e un elenco normale per gli interi.
[[1,2], [3,4]], [1,2, -3, -1] -> [[2,3], [4,1]] [[1,2], [3,4]], [1,1,1,1] -> [[3,2], [4,1]] [[1,2], [3,4]], [0,0,0,0] -> [[1,2], [3,4]] [[1,2, -3], [- 4,5,6], [7, -8,0]], [1, -2,0, -1,3,4] -> [[7, 5,0], [- 3, -8,2], [- 4,1,6]] [[1,2, -3], [- 4,5,6], [7, -8,0]], [3,12, -3,0, -6, -3] -> [[1 , 2, -3], [- 4,5,6], [7, -8,0]]
Buona programmazione!