Мы , кажется , никогда и не получить устал алфавит связанных проблем ...
Рецепт
Данный
- последовательность букв
S
и - два положительных целых чисел
M
,N
,
создайте алфавитный суп с буквами, S
занимающими случайные позиции в прямоугольной чаше размером M
× N
, обрамленной неалфавитным, не пробельным символом для обозначения края чаши.
Позиции, не используемые буквами, должны отображаться в виде пробелов. Смотрите примеры ниже .
Дополнительные правила
- Размер
M
×N
относится к внутренней части чаши. Размер, включая обод, равенM+2
×N+2
. - Каждый персонаж из
S
должен появиться один раз в чаше, в другой позиции ; то есть один символ не может перезаписать другой. S
может содержать дубликаты . Например, еслиS
это строка'abcc'
, суп должен содержать одинa
, одинb
и дваc
(все в разных позициях).- Входы будут удовлетворять ограничения
M >= 1
,N >= 1
,1 <= length(S) <= M*N
. - Ободок чаши может быть любым не алфавитным, не пробелом , одинаковым для всех прогонов программы и входных значений.
- Позиции букв в чаше случайны, поэтому результат может отличаться при каждом запуске программы с одними и теми же входами.
- Учитывая ввод, каждый возможный набор буквенных позиций должен иметь ненулевую вероятность . Поскольку это невозможно проверить из нескольких реализаций программы, пожалуйста, объясните, как ваш код выполняет это.
- Разрешается использование начальных или конечных пробелов по ободу.
S
будут содержать только заглавные буквы. Если вы хотите, вы можете выбрать только строчные буквы.- Ввод и вывод являются гибкими, как обычно. Например, выходные данные могут быть строкой с символами новой строки, двумерным массивом символов или списком строк.
- Программы или функции разрешены на любом языке программирования . Стандартные лазейки запрещены.
- Самый короткий код в байтах побеждает.
Примеры
Входные данные отображаются как S, [M N]
, где M
количество строк и N
количество столбцов. Персонаж #
используется для оправы.
'O', [1 1]:
###
#O#
###
'HEY', [1 3]:
#####
#YHE#
#####
'HELLO', [4 11]:
#############
# O #
# H #
# LE #
# L #
#############
'ADVNJSGHETILMVXERTYIOJKCVNCSF', [8 12]:
##############
#K V L S #
# A V X H #
#T M C #
# I O N#
# YC #
# G I R SE#
# J F #
#JT D V EN #
##############
'OOOOOOOOOOXXXXX', [13 31]:
#################################
# X #
# O #
# #
# X #
# O #
# X O #
# O #
# X #
# O #
# X #
# O #
# O O O #
# O #
#################################
'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ', [11 41]
###########################################
# JU#
# Q C M G R T U Y H #
# KI E H M YO #
# V BW I JC #
# SV D P B U #
# A F RF J KP E #
# E N TH Z #
# N BM O Q I AS N WX #
# S O K G L P Q #
#Z L T R L A F DD#
# V Y WX C G XZ #
###########################################
|+-
?