Враховуючи вхідний рядок завдовжки 2
або більше, що складається виключно з алфавітних символів, [A-Z]
або [a-z]
(на ваш вибір, якщо вони є великими або малими літерами), виведіть суцільний рядок символів, утворюючи подвійний алмазний візерунок.
Рядок введення починається з центральної лінії і простягається вниз-вправо по діагоналі, поки не буде досягнуто кінця введення рядка. Потім шаблон продовжується вгору-вправо по діагоналі, поки ви не знаходитесь вище центральної лінії, ніж довжина вхідного рядка мінус 1. Продовжуйте вниз-вправо назад до центральної лінії, потім вниз-і- вліво, потім вліво-вліво (йде «позаду» центрального символу) і, нарешті, вниз-вліво назад до початкового символу.
Це трохи висловлюється, і це краще продемонструвати на деяких прикладах:
"YOU"
U Y
Y O U O
Y O U
O Y U Y
U O
^ ^
↙ ↖ ↗ ↘
↘ ↗ >
↘ ↗ ↖ ↙
V V
Подивіться, як YOU
починаються в центральній лінії та слідують вниз-вправо, потім вгору-вправо тощо, доки вона не закінчиться на початку. Особливо зверніть увагу на те, як Y
на верхній і лівій частині знаходиться "позаду" O
і, отже, не показано.
Ще кілька прикладів:
"HI"
I I
H H H
I I
"TEST"
E E
S T T S
T T T T
T S T
E E E E
S T T S
T T
"HELLO"
L L
O L E L
H E H O
E H O H
H L E
E L L L
L E L L
L H E O
O H
- Введення та вихід можуть бути надані будь-яким зручним методом .
- Гарантоване введення має бути не менше двох літер (тобто ви ніколи не отримаєте
""
як введення). - Ви можете роздрукувати його в STDOUT або повернути його як результат функції.
- Прийнятна або повна програма, або функція.
- Будь-яка кількість сторонніх пробілів є прийнятною до тих пір, поки символи належним чином вишикуються (наприклад, сміливо прокладайте як прямокутник).
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.