(Натхненний ранньою чергою виклику фрактальної лінії PhiNotPi .)
Вам задано ширину W > 1
, висоту H > 1
та рядок, що складається з 2(W+H-2)
символів для друку ASCII. Завдання полягає в тому, щоб надрукувати цей рядок, обгорнутий навколо прямокутника заданої ширини та висоти, починаючи з верхнього лівого кута, за значенням за годинниковою стрілкою. Прямокутник всередині заповнений пробілами. Сподіваємось, тестові приклади повинні зробити це дуже зрозумілим.
Ви можете написати програму або функцію, взявши введення через STDIN (або найближчу альтернативу), аргумент командного рядка або аргумент функції, або друкуючи результат в STDOUT (або найближчу альтернативу) або повертаючи його як рядок.
Не повинно бути провідних чи кінцевих пробілів (крім тих, які можуть бути у вхідному рядку). Ви можете необов'язково виводити один зворотний рядок.
Це код гольфу, тому виграє найкоротше подання (у байтах).
Випробування
Кожен тестовий випадок "String" W H
супроводжується очікуваним результатом.
"Hello, World! "
5 4
Hello
,
!
dlroW
"+--+|||+--+|||"
4 5
+--+
| |
| |
| |
+--+
">v<^"
2 2
>v
^<
"rock beats scissors beats paper beats "
11 10
rock beats
s
s c
t i
a s
e s
b o
r
r s
epap staeb
Note that the following string contains an escaped '"'.
"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
46 3
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN
~ O
}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQP
Табло лідерів
Ось фрагмент стека для створення як звичайного табло, так і огляду переможців за мовою.
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
# Language Name, N bytes
де N
розмір вашого подання. Якщо ви покращите свій рахунок, ви можете зберегти старі бали у заголовку, прокресливши їх. Наприклад:
# Ruby, <s>104</s> <s>101</s> 96 bytes