Завдання
Враховуючи непорожній рядок з малих літер 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
)?