Ваша цель - написать кодировщик семафоров флагов , который преобразует данное предложение в соответствующие символы семафоров флагов в соответствии с системой семафоров, описанной в Википедии .
Предположим, что вход представляет собой одно предложение, предоставленное через стандартный ввод (или эквивалентный). Ваш вывод должен быть последовательностью символов семафора, каждая строка представляет одно слово из предложения. Вам нужно иметь дело только с алфавитом (AZ) и игнорировать все другие непробельные символы, но вы должны уметь обрабатывать как прописные, так и строчные буквы. Ваш вывод может содержать лишние пробелы.
Символы семафора должны отображаться в виде квадрата 3x3 с O
серединой и позициями флагов, представленных символами | - / \
. Каждый символ семафора должен быть отделен от соседних символов пробелом, а каждая строка должна быть отделена пустой строкой. Не беспокойтесь о переносе слов, которые могут быть слишком длинными для вашего дисплея - представьте, что ваши строки имеют бесконечную длину.
Пример ввода:
abcdefg hijklmn opqrstu vwxyz
Пример вывода:
\ | /
O -O O O O O- O
/| | | | | | |\
\ | | /
-O O O- O O O- O
/ / / / / / \
\ | / \| \ /
-O -O -O -O- -O O O
\
| / / \
O O- O O- O-
\ \ \
Пример ввода:
This is Code Golf.
Пример вывода:
\| \
O -O O -O
/ / \
\
O -O
/ \
\ \ | /
O -O O O
| | |
\ /
O -O O O-
|\ / |
Поскольку это код-гольф , выигрывает самое короткое решение.
and each row must be separated by a blank line
=> каждое слово подразумевается, не так ли?