Dato un intero k e un blocco di testo o un array 2d che le matrici interne possono avere lunghezze disuguali (che assomigliano a un blocco di testo), ruota ogni carattere o elemento nella colonna k -up su o giù nella posizione successiva quello esiste.
Esempio
Ruota la 20a colonna del seguente testo (basato su 1):
A line with more than k characters.
A longer line with more than k character.
A short line.
Rotate here: ------v--
This is long enough.
This is not enough.
Wrapping around to the first line.
Produzione:
A line with more thtn k characters.
A longer line with aore than k character.
A short line.
Rotate here: ------m--
This is long enoughv
This is not enough.
Wrapping around to .he first line.
Ruotando la colonna k -esima dello stesso input in cui 35 < k <42 renderebbe invariato il testo di input.
Regole
- È possibile utilizzare testo non elaborato, una matrice di righe, una matrice di caratteri 2D o qualsiasi formato ragionevole per rappresentare i dati. È inoltre possibile utilizzare tipi di dati diversi dai caratteri.
- Il numero di possibili valori del tipo di dati degli elementi deve essere almeno 20 se la lunghezza del codice dipende da esso, altrimenti almeno 2. Questo potrebbe essere un sottoinsieme dei caratteri o altri valori supportati nel tipo nativo.
- Gli spazi e qualsiasi tipo di valori null sono solo valori normali, se li consenti nell'input. Puoi anche semplicemente escluderli nel tipo di elemento.
- Modifica della regola: è possibile riempire le matrici più brevi con un valore predefinito generico (come gli spazi), se si preferisce utilizzare matrici di uguale lunghezza per memorizzare i dati.
- k potrebbe essere basato su 0 o su 1. È garantito che si trovi all'interno della riga più lunga nell'input (il che implica che l'input ha almeno una riga non vuota).
- Puoi scegliere se ruotare su o giù.
- O basta ruotare una posizione o ruotare n posizioni dove n è un numero intero positivo indicato nell'input.
- Il codice più corto vince.