задача
Учитывая непустую строку строчных букв ASCII a
- z
, возьмите ее первый символ и:
- Окружите его квадратом копий второго персонажа,
- Окружите это алмазом копий третьего персонажа,
- Окружите это квадратом копий четвертого персонажа ...
… Чередование между квадратными и алмазными границами до конца струны. Пустое пространство между границами должно быть представлено пробелами ASCII ( ).
Чтобы добавить квадратную границу, нарисуйте квадрат точно вокруг всего текущего «рабочего массива»:
sssssssssss
t s t s
t t s t t s
t t s t t s
t aaa t s t aaa t s
t aca t => st aca ts
t aaa t s t aaa t s
t t s t t s
t t s t t s
t s t s
sssssssssss
Чтобы добавить ромбовидную границу, нарисуйте ромбовидную форму по центру, которая касается самого внешнего квадрата по диагонали , но не ортогонально :
s
s s
s s
s s
s s
s s
s s
wwwwwwwwwww s wwwwwwwwwww s
w o w s w o w s
w o o w s w o o w s
w o o w s w o o w s
w o eee o w s w o eee o w s
wo eme ow => s wo eme ow s
w o eee o w s w o eee o w s
w o o w s w o o w s
w o o w s w o o w s
w o w s w o w s
wwwwwwwwwww s wwwwwwwwwww s
s s
s s
s s
s s
s s
s s
s
Ваша программа должна вывести окончательный массив.
- Каждая строка может содержать любое количество пробелов.
- Вы можете вывести список строк, представляющих строки, или одну строку, разделенную символом новой строки, с необязательным завершающим символом новой строки.
- Начальные / конечные пустые строки запрещены.
- Ведущие колонки пробелов также запрещены.
Это код-гольф . Самый короткий код в байтах побеждает.
Контрольные примеры
Приведенные выше примеры , как ожидается , выходы для cat
, cats
, meow
, и meows
, в порядке чтения. Некоторые другие случаи, заслуживающие рассмотрения:
Для ввода
a
ваша программа должна вывести:a
Для ввода
ab
ваша программа должна вывести:bbb bab bbb
Для ввода
codegolf
ваша программа должна вывести:fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l ooooooooooooooooooooooooooo l f f l o g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g eeeeeeeeeee g o l f f l o g e d e g o l f f l o g e d d e g o l f f l o g e d d e g o l f f l o g e d ooo d e g o l f fl og ed oco de go lf f l o g e d ooo d e g o l f f l o g e d d e g o l f f l o g e d d e g o l f f l o g e d e g o l f f l o g eeeeeeeeeee g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g o l f f l ooooooooooooooooooooooooooo l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l f fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Ссылочная реализация
Я написал код Джулии, который должен соответствовать выводу вашей программы (по крайней мере, визуально). Попробуйте онлайн!
\r\n
) вместо одного (\n
)?