Если у вас есть маленький ребенок в вашем доме, вы, возможно, сталкивались с письмами о пенной ванне. Их можно смочить и приклеить к плоским поверхностям, таким как плитка и сторона ванны, чтобы составлять слова и сообщения.
Диапазон слов и сообщений несколько ограничено , если у вас есть только один набор , хотя, так как вы получите только 36 символов: заглавные буквы AZ, и цифры 0-9: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
. Тем не менее, вы можете быть хитрыми и злоупотреблять некоторыми буквами и цифрами, создавая дополнительные копии других букв:
3: E
1: I
7: L (when rotated)
M: W (when rotated)
0: O
2: S (when flipped)
5: S
W: M (when rotated)
2: Z
5: Z (when flipped)
O: 0
6: 9 (when rotated)
L: 7 (when rotated)
9: 6 (when rotated)
Обратите внимание, что они не являются двунаправленными, так как обычно легче прочитать цифру как часть слова, чем букву как часть числа.
Каждый набор также поставляется в различных цветах, где каждая буква окрашена в последовательности. Например, если ваш набор имеет 3 цвета, красный, желтый и синий, ваш набор будет выглядеть так:
- Красный:
ADGJMPSVY147
- Желтый:
BEHKNQTWZ258
- Синий:
CFILORUX0369
Поэтому ваша задача состоит в том, чтобы взять три параметра (любым подходящим способом), указывающих слово или фразу, количество используемых цветов и количество наборов, которые у вас есть, а затем вывести представление слова или фразы в набор подходящих цветов, с использованием замен при необходимости. Если невозможно сделать слово или фразу с заданным количеством наборов, вместо этого выведите «Nope» в соответствующих цветах.
Примеры
Во всех них первый параметр - это слово или фраза, второй - количество цветов, а третий - количество доступных наборов.
["bath", 3, 1]
["programming", 3, 2]
["puzzles", 3, 1]
["code golf", 5, 1]
["willow tree", 1, 1]
["impossible phrase", 8, 1]
- в наборе только 1 P и нет действительных замен
Примечания
- Вы можете по умолчанию установить 1, если это помогает (например, значение параметра по умолчанию 1), но при необходимости вы должны поддерживать несколько наборов. Количество наборов у вас всегда будет положительным ненулевым целым числом.
- Если у вас есть несколько наборов, они все окрашены одинаково: если A в первом наборе красный, то во втором также будет красным. Цвета применяются для каждого набора, а не для всех наборов в данном вызове.
- Вы должны поддерживать от 1 до 36 цветов - 1 означает, что все символы одного цвета, 36 означает, что все они различны. Там будут только целые числа цветов.
- Вы можете использовать любые цвета, если они визуально различаются - если вы выводите на терминал, вы можете использовать комбинацию переднего плана и фона в качестве «цвета», хотя вы не должны использовать один и тот же цвет для переднего плана и фона.
- Ваш вывод должен использовать символы, которые вы на самом деле используете, а не символы из ввода. Например, если у вас в качестве входных данных [«ива», 1, 1], вы можете вывести
WIL7OM
с 7 и М повернутым на 180 градусов - Сначала следует использовать правильные буквы, а затем заменить:
MI7LOW
неверно для ["ива", 1, 1] - Вы можете использовать любую замену для данного символа:
SO5
иSO2
с перевернутой 2 оба действительны для "SOS" - Многократные вызовы вашего кода для одного и того же ввода не должны давать идентичный вывод
- Вывод должен быть в верхнем регистре, но ввод может быть в любом сочетании верхнего и нижнего регистра
- Это должно быть очевидно, но пространство не имеет цвета
правила
- Это кодовый гольф, но с полуграфическим выводом (я не уверен, что вы можете сделать перевернутый текст в терминале, но мне интересно посмотреть, есть ли для него встроенный Pyth)
- Применяются стандартные лазейки
- Бонусов за функции нет, но, пожалуйста, оцените интересные ответы.
- Включите несколько скриншотов вашего вывода в ваши ответы
Связанные проблемы
- Алфавит моей дочери - частичная обратная задача, которая заключается в поиске минимального набора букв для написания ряда предложений
- Вписывается ли письмо в другой? - о другом типе букв пены, но с аналогичной темой букв
NOPE
?