Napisz quine, które składa się z prawdziwych angielskich słów oddzielonych pojedynczymi spacjami. „Słowo” jest zdefiniowane jako ciąg znaków zawierający tylko małe i wielkie litery ( /[a-zA-Z]+/
w wyrażeniu regularnym). Aby być „prawdziwym”, twoje słowo musi zostać rozpoznane przez oficjalny słownik Scrabble .
Korzystam ze słownika Scrabble, ponieważ daje on ostateczną odpowiedź na to, co jest i nie jest ważne. Istnieje zbyt wiele szarych obszarów ze zwykłym słownikiem. Zauważ, że „A” i „I” (nie wspominając o „quine”) nie są poprawnymi słowami scrabble.
Ponieważ pisanie Quine'a tylko za pomocą liter i spacji jest prawie niemożliwe w większości języków programowania, masz możliwość wymiany pojedynczych spacji między słowami z charakterem swojego wyboru. Możesz także dołączyć znaki na początku pierwszego słowa i na końcu ostatniego słowa. Te dodane znaki mogą być dowolne (w tym znaki nowej linii i nie-ASCII) oprócz liter (az, AZ) . Istnieje jednak kara za ich dodanie (patrz punktacja).
Detale
- Jak zwykle, quines nie może czytać ani uzyskiwać dostępu do własnego kodu źródłowego. (Powiedziałbym, że polecenie Q HQ9 + narusza to.)
- Dane wyjściowe powinny przejść do standardowego wyjścia lub podobnej alternatywy. Brak danych wejściowych.
- Słowa nie muszą być pisane dużymi literami. Mogą mieć wszędzie czapki i małe litery. Ciąg słów nie musi mieć żadnego sensu.
- Żadne słowo nie może być użyte więcej niż 3 razy w twoim programie. Różne litery pisane wielkimi literami to wciąż to samo słowo (np. „DOG”, „pies” i „dOg” są tym samym słowem).
- Używanie języków takich jak PHP czy HTML, który można po prostu kot się ich zawartości jest uważany za trywialne luka i jest niedozwolone.
- Program musi zawierać co najmniej jedno słowo.
Punktacja
Twój wynik to liczba „prawdziwych słów” w twoim programie plus następujące kary:
- +1 za każde pole, które zostało zastąpione inną postacią
- n n na każde n znaków dodanych przed pierwszym słowem (tak, to jest n potęgi n)
- n n na każde n znaków dodanych po ostatnim słowie
Na przykład program
We all LIKE PROgraMmING
uzyska 4, ponieważ zawiera 4 słowa; żadne znaki nie zostały dodane ani zastąpione żadnymi spacjami. Oczywiście wynik byłby We all LIKE PROgraMmING
.
Program
!We@all LIKE#PROgraMmING- =
uzyskałby 4 + 2 + 1 + 27 = 34; 4 dla słów, 2 dla zastąpionych spacji, 1 dla !
przodu i 27 dla - =
końca. Oczywiście wynik byłby !We@all LIKE#PROgraMmING- =
.
Najniższy wynik wygrywa. Tiebreaker podchodzi do odpowiedzi z najmniejszą liczbą punktów karnych. Jeśli nadal jest remis, wygrywa najwyższa głosowana odpowiedź.