Dzięki @ComradeSparklePony za tytuł.
To wyzwanie powinno być bardzo proste. Otrzymasz trzy listy.
Pierwsza to lista imion w tytule.
Drugi to lista przymiotników pisanych małymi literami.
Trzecia to lista rzeczowników, pisana małymi literami.
Proszę losowo wybrać nazwę, opcjonalny przymiotnik, rzeczownik i wynik <Name>'s <adjective> <noun>
. Jednak każde słowo musi zaczynać się od tej samej litery. Możesz założyć, że wszystkie słowa zaczynają się na literę. Możesz również założyć (ale zwróć uwagę, jeśli tak zrobisz):
- że wszystkie słowa składają się wyłącznie ze znaków alfabetycznych
- że dla każdego imienia istnieje co najmniej jeden rzeczownik
- że dla każdego rzeczownika istnieje co najmniej jedna nazwa
Nie możesz jednak założyć, że istnieje przymiotnik dla konkretnej pary imion i rzeczowników, ponieważ przymiotnik jest opcjonalny, więc wynik nadal będzie ważny.
Nie musisz wybierać wspólnej litery w jednolity sposób, chociaż wszystkie dostępne litery muszą mieć niezerową szansę wystąpienia. Musisz jednak upewnić się, że wszystkie dane wyjściowe dla danej litery mają możliwie równą szansę wystąpienia w granicach generatora liczb losowych w Twoim języku. W przypadku przymiotnika jest to równoważne z dodatkowym wpisem oznaczającym „brak przymiotnika dla tej litery”, który ma taką samą szansę jak wszystkie inne przymiotniki dla tej litery.
Przykładowe listy danych wejściowych:
Joan Neil Nicola Oswald Sherman Stephanie
new novel old original second silent
jeep noun novel output second sheep snake
Przykładowe dane wyjściowe dla tych danych wejściowych (każda linia to osobny przykład):
Stephanie's second second
Sherman's silent snake
Oswald's original output
Nicola's novel novel
Neil's noun
Joan's jeep
Zwróć uwagę na brak dodatkowych spacji między słowami w dwóch ostatnich przykładach.
To jest golf golfowy , więc wygrywa najkrótszy kod, który nie łamie żadnych standardowych luk!
W mało prawdopodobnym przypadku, gdy to pomaga, możesz wpisać wszystko dużymi literami, ale nadal musisz wpisać w zdaniu.
j
przymiotnika, czy szansa wynosiłaby 4 na 9? Być może warto umieścić prawdopodobieństwa względem danych wyjściowych lub wyliczyć wszystkie dane wyjściowe - ponieważ rozumiem, że nie tylko „wszystkie dane wyjściowe dla danej litery ...”, ale także wszystkie różne dane wyjściowe powinny mieć jednakowe prawdopodobieństwo (podane odrębne wartości na każdej liście).