Biorąc pod uwagę liczbę całkowitą k i blok tekstu lub tablicę 2d, że wewnętrzne tablice mogą mieć nierówne długości (które przypominają blok tekstu), obróć każdy znak lub element w k- tej kolumnie w górę lub w dół do następnej pozycji to istnieje.
Przykład
Obróć 20. kolumnę następującego tekstu (na podstawie 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.
Wydajność:
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.
Obracanie k- tej kolumny tego samego wejścia, gdzie 35 < k <42 dałoby tekst wejściowy bez zmian.
Zasady
- Możesz użyć surowego tekstu, tablicy wierszy, 2d tablicy znaków lub dowolnego rozsądnego formatu do przedstawienia danych. Możesz także używać typów danych innych niż znaki.
- Liczba możliwych wartości typu danych elementów musi wynosić co najmniej 20, jeśli długość kodu zależy od tego, w przeciwnym razie co najmniej 2. Może to być podzbiór znaków lub innych wartości obsługiwanych w typie rodzimym.
- Spacje i wszelkiego rodzaju wartości zerowe są po prostu wartościami normalnymi, jeśli dopuścisz je na wejściu. Możesz także po prostu wykluczyć je w typie elementu.
- Zmiana reguły: możesz wstawiać krótsze tablice ogólną wartością domyślną (taką jak spacje), jeśli wolisz używać tablic o równej długości do przechowywania danych.
- k może być oparty na 0 lub na 1. Gwarantujemy, że znajduje się w najdłuższej linii na wejściu (co oznacza, że na wejściu znajduje się co najmniej jedna niepusta linia).
- Możesz wybrać, czy ma się obracać w górę, czy w dół.
- Albo po prostu obróć jedną pozycję, albo obróć n pozycji, gdzie n jest dodatnią liczbą całkowitą podaną na wejściu.
- Najkrótszy kod wygrywa.