Dado un entero k y un bloque de texto, o una matriz 2D que las matrices internas pueden tener longitudes desiguales (que se asemeja a un bloque de texto), gire cada carácter o elemento en la columna k arriba o hacia abajo a la siguiente posición eso existe.
Ejemplo
Gire la vigésima columna del siguiente texto (basado en 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.
Salida:
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.
Rotando la k -ésima columna de la misma entrada donde 35 < k <42 produciría el texto de entrada sin cambios.
Reglas
- Puede usar texto sin formato, una matriz de líneas, una matriz 2D de caracteres o cualquier formato razonable para representar los datos. También puede usar tipos de datos que no sean caracteres.
- El número de valores posibles del tipo de datos de los elementos debe ser al menos 20 si la longitud de su código depende de ello, de lo contrario, al menos 2. Esto podría ser un subconjunto de los caracteres u otros valores admitidos en el tipo nativo.
- Los espacios y cualquier tipo de valores nulos son solo valores normales, si los permite en la entrada. También puede simplemente excluirlos en el tipo de elemento.
- Cambio de regla: se le permite rellenar las matrices más cortas con un valor predeterminado genérico (como espacios), si prefiere usar matrices de igual longitud para almacenar los datos.
- k podría estar basado en 0 o en 1. Se garantiza que está dentro de la línea más larga de la entrada (lo que implica que la entrada tiene al menos una línea no vacía).
- Puede elegir si gira hacia arriba o hacia abajo.
- Simplemente gire una posición o gire n posiciones donde n es un número entero positivo dado en la entrada.
- El código más corto gana.