Спасибо @ComradeSparklePony за название.
Эта задача должна быть очень простой. Вам даны три списка.
Первый - это список имен в заглавном случае.
Второй список прилагательных в нижнем регистре.
Третий список существительных, в нижнем регистре.
Пожалуйста, выберите случайным образом имя, необязательное прилагательное, существительное и вывод <Name>'s <adjective> <noun>
. Однако каждое слово должно начинаться с одной и той же буквы. Вы можете предположить, что все слова начинаются с буквы. Вы также можете предположить (но отметьте в своем ответе, если вы делаете):
- что все слова состоят исключительно из буквенных символов
- что для каждого имени есть хотя бы одно существительное
- что для каждого существительного есть хотя бы одно имя
Однако вы не можете предполагать, что прилагательное существует для определенной пары имени и существительного, так как прилагательное является необязательным, поэтому вывод все еще будет действительным.
Вам не нужно выбирать общую букву единообразно, хотя все доступные буквы должны иметь ненулевую вероятность появления. Однако вы должны убедиться, что все выходные данные для данной буквы имеют как можно более равные шансы на появление в пределах генератора случайных чисел на вашем языке. В случае с прилагательным это эквивалентно наличию дополнительной записи, означающей «нет прилагательного для этой буквы», которая имеет такой же шанс, как и все другие прилагательные для этой буквы.
Примеры списков ввода:
Joan Neil Nicola Oswald Sherman Stephanie
new novel old original second silent
jeep noun novel output second sheep snake
Пример выходов для этих входов (каждая строка является отдельным примером):
Stephanie's second second
Sherman's silent snake
Oswald's original output
Nicola's novel novel
Neil's noun
Joan's jeep
Обратите внимание, что в последних двух примерах между словами нет пробела.
Это код-гольф , поэтому выигрывает самый короткий код, который не нарушает стандартные лазейки!
В маловероятном случае, если это поможет, вы можете вводить все в верхнем регистре, но вам все равно нужно выводить в предложении.
j
прилагательных, шанс стал бы 4 из 9? Может быть, стоит поместить вероятности в зависимости от выходных данных или перечислить все выходные данные - насколько я понимаю, не только «все выходные данные для данной буквы ...», но также и все различные выходные данные должны иметь равную вероятность (учитывая различные значения в каждом списке).