Wydaje się, że nigdy nie mamy dość wyzwań związanych z alfabetem ...
Przepis
Dany
- ciąg liter
Si - dwie dodatnie liczby całkowite
M,N,
utwórz zupę alfabetyczną z literami Szajmującymi losowe pozycje w prostokątnej misce o rozmiarze M× N, otoczonej nie alfabetycznym, spacji, która reprezentuje brzeg miski.
Pozycje nie używane przez litery powinny być wyświetlane jako spacje. Zobacz przykłady poniżej .
Zasady dodatkowe
- Rozmiar
M×Nodnosi się do wnętrza miski. Rozmiar wraz z obręczą wynosiM+2×N+2. - Każda postać z
Spowinna pojawić się raz w misce, w innej pozycji ; to znaczy, jedna postać nie może zastąpić innej. Smoże zawierać duplikaty . Na przykład, jeśliSjest to sznurek'abcc', zupa musi zawierać jedena, jedenbi dwac(wszystkie w różnych pozycjach).- Wejścia będą spełniać ograniczenia
M >= 1,N >= 1,1 <= length(S) <= M*N. - Obrzeże miski może być dowolnym niealfabetycznym znakiem spacji , spójnym między przebiegami programu i wartościami wejściowymi.
- Pozycje liter w misce są losowe, więc wynik może się różnić przy każdym uruchomieniu programu z tymi samymi danymi wejściowymi.
- Biorąc pod uwagę dane wejściowe, każdy możliwy zestaw pozycji literowych powinien mieć niezerowe prawdopodobieństwo . Ponieważ nie można tego sprawdzić w kilku realizacjach programu, wyjaśnij, w jaki sposób twój kod to spełnia.
- Dozwolone są wiodące lub końcowe białe znaki wokół obręczy.
Sbędą zawierać tylko wielkie litery. Jeśli chcesz, możesz wybrać tylko małe litery.- Wejścia i wyjścia są elastyczne jak zwykle. Na przykład wynikiem może być ciąg znaków z nowymi liniami, tablica znaków 2D lub lista linii.
- Programy lub funkcje są dozwolone w dowolnym języku programowania . Standardowe luki są zabronione.
- Najkrótszy kod w bajtach wygrywa.
Przykłady
Dane wejściowe są pokazane jako S, [M N], gdzie Mjest liczbą wierszy i Nliczbą kolumn. Znak #jest używany do obręczy.
'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 #
###########################################
|+-?