Twoim wyzwaniem jest napisanie programu do tłumaczenia (angielskiego) leetspeak / lolspeak / txtspk na normalny angielski. Twój program powinien czytać ze standardowego wejścia i wyjścia na standardowe wyjście, chyba że Twój język ich nie obsługuje.
Możesz użyć pliku zawierającego listę słów w języku angielskim, oddzielone nowymi wierszami. Powinien zostać wywołany W
i znajdować się w tym samym katalogu, co twój program. (W systemach GNU / Linux i ewentualnie innych możesz utworzyć W
link do /usr/share/dict/words
) Lista nie musi być pisana małymi literami, możesz jej użyć, aby określić, czy słowa powinny mieć wielkie litery.
Jest to oparte na usuniętym teraz pytaniu przesłanym przez Nikosa M., które można znaleźć tutaj . Nie jest to duplikat, ponieważ to oryginalne pytanie zostało zamknięte i nie otrzymano żadnych odpowiedzi, ponieważ nie było kryterium wygranej, a użytkownik nie chciał go podać.
Punktacja
Punktacja jest nieco skomplikowana!
Twój wynik to
(leet items + bonuses) * 10 / (code length)
Najwyższy wynik wygrywa.
Twój program nie musi być i prawdopodobnie nie może być idealny, ale im dokładniejszy, tym więcej dostanie bonusów!
Ponieważ $
może to oznaczać jedno s
i drugie S
, otrzymasz premię w wysokości 5 punktów za każdy element leet za podjęcie decyzji, czy powinna ona zawierać wielką literę (tj. Wielkie litery na początku zdań).
Dostajesz dodatkową premię w wysokości 5 punktów za każdy element leet za wdrożenie odpowiednich rzeczowników (słów, które zawsze mają wielkie litery) - sposób, w jaki to działa, polega na tym, że przeglądasz listę słów, sprawia, że wyniki są pisane dużymi literami, jeśli tylko listę, a jeśli obie wersje są dostępne, po prostu zgadnij.
Jeśli znak ma dwa znaczenia (np. 1
Może oznaczać L
lub I
), dostajesz 20 punktów za element leet za wybranie tylko tych tłumaczeń przedmiotu, które tworzą prawdziwe angielskie słowa - użyj do tego listy słów. Jeśli więcej niż jedno tłumaczenie elementu leet tworzy prawdziwe angielskie słowo, możesz dowolnie wybrać jedno z ważnych tłumaczeń i nadal otrzymać bonus.
Lista Leet
Są to elementy, które możesz wdrożyć. Nie musisz wdrażać ich wszystkich, ale im więcej dodasz, tym więcej punktów otrzymasz.
Nigdy nie możesz zdobyć punktów, tłumacząc przedmiot lub postać na siebie. Ta zasada zastępuje wszelkie błędy, które mogłem popełnić na liście.
Kuszące jest zrobienie prostego tr
lub s/.../.../g
. Prawdziwym wyzwaniem jest ustalenie, które z wielu znaczeń może, a nie może być poprawne, za pomocą listy słów.
Leet Items (każdy z nich dodaje 1 do leet items
formuły)
$ -> s, S (-> c, C 5 -> s, S @ -> a, A 4 -> a, A 3 -> e, E 7 -> t, T + -> t, T # -> h, H teh -> the 'd -> ed pwnd -> pwned pwnt -> pwned k, K -> OK kk -> OK 0 [zero] -> o, O y, Y -> dlaczego 4 -> dla txt -> tekst dafuq -> co do cholery / \, ^ -> a, A \ / -> v, V d00d -> koleś n00b -> nowicjusz \ / \ / -> w, W 8 -> b, B | _ | -> u, U | - | -> h, H Я -> r, R j00 -> ty joo -> ty vv, VV -> w, W tomoz -> jutro | <-> k, K [), |) -> d, D <3 -> miłość > <-> x, X 10100111001 -> leet (binarna reprezentacja 1337) 2 -> też ur, UR -> twoja, jesteś (nie musisz poprawnie rozróżniać między nimi) u, U -> ty 8 -> -ate-, 8 x, X -> -ks -, - cks- z, Z -> s, S 1 -> i, I, l, L ! -> ja, ja ,! c, C -> patrz, C, morze b, B -> be, B, pszczoła [litera akcentowana] -> [forma nieakcentowana] (wynik 1 za obsługiwaną literę akcentowaną) &, 7 -> oraz, anned, ant (może być użyty w środku słowa)
Harder „Leet”: zdobądź 30 punktów za leet items
każdy
!!! 1 !! 1-> !!!!!!! (przetłumacz 1 w sekwencji! na!!) !!! jeden! -> !!!!! ! jedenaście-> !!!
Przykłady
Oto przykłady tego, co program, który implementuje wszystkie powyższe postacie leet i niektóre bonusy, może zrobić:
Przykładowe zdanie: |-|3 15 $|_|(# @ n00b
=He is such a newbie
Cenzura Leeta: $#!+
=s**t
Extreme leet: \/\/ 1 |< 1 P 3 [) 1 A
=Wikipedia
-xor sufiks: H4X0R
=hacker
Bardziej ekstremalny leet: @1\/\/4Y5 p0$+ ur n3VV qu35710nz 1n teh $&80x
=Always post your new questions in the sandbox
Przykład punktacji
Bash, 10 postaci, 3 przedmioty, brak bonusów:
tr 137 let
To wyniki ( 1 * 3 ) * 10 / 10 = 3
.
tr
lub s/.../.../g
. Tłumaczenie takich rzeczy byłoby nudnym wyzwaniem, dlatego musimy nagradzać lepsze tłumaczenia, które korzystają z listy słów
sed
scenariusz.)
sed
skrypt, mam na myśli coś więcej niż prosty s/.../.../g
, ale plik, który jest analizowany i wykonywany sed
sam. Jakkolwiek zwięzły jest ten język, może być przyzwoitym językiem gry w golfa ...