Ми , здається , ніколи і НЕ отримати втомився алфавіт пов'язаних проблем ...
Рецепт
Дано
- рядок літер
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 #
###########################################
|+-
?