Я забыл день полотенец
PHP скрипт для обоих примеров (ошибка, форматирование строки)
Исправлен скрипт php, ввод очевиден
PHP-скрипт с дополнительным комментарием / комментарием для ввода $argv
различных результатов
Как вы знаете, 25 мая хорошо известно как День полотенца , так как он может быть использован во многих случаях.
Простой отрывок из книги «Автостопом по Галактике» (лично я воспринял эту книгу как «ежедневный гид») ) гласит:
«Полотенце - это самая полезная вещь, которую может иметь межзвездный автостопщик. Отчасти это имеет большое практическое значение».
Если вам нужна дополнительная информация о полотенцах, проверьте ответ SE.scifi
Соревнование
Надеюсь, вы сделаете это с помощью полотенца, используемого в качестве одеяла для ваших ног.
Напишите полную программу или функцию на любом допустимом языке программирования, который принимает два входа
size Integer : #The size
message string : #A sentence
Как нарисовать полотенце с этими значениями?
Первое использованиеsize
:
Нарисуйте полотенце в зависимости от размера ввода, ascii-art для нашего полотенца
width = 12*size
#the line that has the "bar" its always present with different sizes
Width is defined as:
from the first | to the second | has to be equal to size*12 including both ||
<- width->
[===| |====]
| 12 chars || 1 height starts here, just after the "bar"
| SIZE = 1 || 2
| || 3 height = 5*size
| || 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
Во-вторых, дать ему message
Вы должны дать ему сообщение, что такое полотенце без красивого сообщения, сшитое в золотую нить?
Пример 1
input: size=1, message="a simple message can stay with size"
width = 12*size
#the line that has the "bar" it's always present with different sizes
#no words allowed at the bar level
[===| |====]
| a simple || 1 height starts here, just after the "bar"
| message || 2
| can stay || 3 height = 5*size
| with size|| 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
Пример 2
input size=2
message="Don't Panic and bring a towel to SE Programming Puzzles and CodeGolf"
The size is 2
That means 24 width and 10 heigth
<- 24 chars width ->
[===| |====]
| Don't Panic and bring|| 1
| a towel to SE || 2
| Programming Puzzles || 3
| and CodeGolf || 4
| || 5
| || 6
| || 7
| || 8
| || 9
| || 10
|======================|| # The lines with the "#"
|======================|| # always present and
""""""""""""""""""""""""| # adapted to
| | # the towel width
"""""""""""""""""""""""" #
Принятые критерии ответа
- Это Codegolf, поэтому применяются нормальные правила.
правила
Вы гарантированно, что все входные строки будут соответствовать размеру, так что ввод не нравится
size=1; message="This string is just tooooooooooooooooooooo long to fit the width and height of your towel"
.Формат строки зависит от вас, если вы хотите, например, центрировать подстроки.
Перерывы на слова запрещены.
Правки
Я искренне сожалею о любой путанице, потому что нарисованные мною полотенца не соответствовали параметрам, для обоих примеров добавлен PHP-скрипт для проверки ожидаемых результатов.
Также спасибо всем людям, которые проголосовали и рассмотрели мой первый вызов: D.
current line + next word
будет превышен лимит, разрешенный для вашего полотенца @Jakob, в зависимости от того, какой php-скрипт я разместил, он решает.