Враховуючи ціле число k або блок тексту, або 2d масив, що внутрішні масиви можуть мати неоднакову довжину (що нагадує блок тексту), поверніть кожен символ або елемент у k -му стовпчику вгору або вниз до наступної позиції що існує.
Приклад
Оберніть 20-й стовпець наступного тексту (на основі 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.
Вихід:
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.
Обертання k -го стовпця того ж вводу, де 35 < k <42 дасть текст вводу без змін.
Правила
- Ви можете використовувати необроблений текст, масив рядків, 2d масив символів або будь-який розумний формат для представлення даних. Ви також можете використовувати типи даних, крім символів.
- Кількість можливих значень типу даних елементів має бути не менше 20, якщо від вас залежить довжина вашого коду, в іншому випадку - принаймні 2. Це може бути підмножина символів або інші значення, що підтримуються в рідному типі.
- Пробіли та будь-який тип нульових значень - це лише звичайні значення, якщо ви дозволите їх у введенні. Ви також можете просто виключити їх у типі елементів.
- Зміна правила: Вам дозволяється прокладати коротші масиви із загальним значенням за замовчуванням (наприклад, пробілами), якщо ви віддаєте перевагу використовувати масиви з однаковою довжиною для зберігання даних.
- k може бути 0 або 1. Гарантоване перебування всередині найдовшого рядка на вході (мається на увазі, що вхід має принаймні один не порожній рядок).
- Ви можете вибрати, обертається він вгору чи вниз.
- Або просто оберніть одну позицію, або оберніть n позицій, де n - натуральне число, задане на вході.
- Найкоротший код виграє.