Biorąc pod uwagę słownik 4-literowych słów, które nie mają powtarzających się znaków ( z tej listy słów ), musisz wybrać JEDEN z tych słów i wyprowadzić to konkretne słowo za pomocą następującego słownika liter blokowych:
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | __ | || | ______ | || | ______ | || | ________ | |
| | / \ | || | |_ _ \ | || | .' ___ | | || | |_ ___ '. | |
| | / /\ \ | || | | |_) | | || | / .' \_| | || | | | '. \ | |
| | / ____ \ | || | | __'. | || | | | | || | | | | | | |
| | _/ / \ \_ | || | _| |__) | | || | \ '.___.'\ | || | _| |___.' / | |
| ||____| |____|| || | |_______/ | || | '._____.' | || | |________.' | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _________ | || | _________ | || | ______ | || | ____ ____ | |
| | |_ ___ | | || | |_ ___ | | || | .' ___ | | || | |_ || _| | |
| | | |_ \_| | || | | |_ \_| | || | / .' \_| | || | | |__| | | |
| | | _| _ | || | | _| | || | | | ____ | || | | __ | | |
| | _| |___/ | | || | _| |_ | || | \ '.___] _| | || | _| | | |_ | |
| | |_________| | || | |_____| | || | '._____.' | || | |____||____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _____ | || | _____ | || | ___ ____ | || | _____ | |
| | |_ _| | || | |_ _| | || | |_ ||_ _| | || | |_ _| | |
| | | | | || | | | | || | | |_/ / | || | | | | |
| | | | | || | _ | | | || | | __'. | || | | | _ | |
| | _| |_ | || | | |_' | | || | _| | \ \_ | || | _| |__/ | | |
| | |_____| | || | '.___.' | || | |____||____| | || | |________| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .-----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | ____ ____ | || | ____ _____ | || | ____ | || | ______ | |
| ||_ \ / _|| || ||_ \|_ _| | || | .' '. | || | |_ __ \ | |
| | | \/ | | || | | \ | | | || | / .--. \ | || | | |__) | | |
| | | |\ /| | | || | | |\ \| | | || | | | | | | || | | ___/ | |
| | _| |_\/_| |_ | || | _| |_\ |_ | || | \ '--' / | || | _| |_ | |
| ||_____||_____|| || ||_____|\____| | || | '.____.' | || | |_____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | ___ | || | _______ | || | _______ | || | _________ | |
| | .' '. | || | |_ __ \ | || | / ___ | | || | | _ _ | | |
| | / .-. \ | || | | |__) | | || | | (__ \_| | || | |_/ | | \_| | |
| | | | | | | || | | __ / | || | '.___'-. | || | | | | |
| | \ '-' \_ | || | _| | \ \_ | || | |'\____) | | || | _| |_ | |
| | '.___.\__| | || | |____| |___| | || | |_______.' | || | |_____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _____ _____ | || | ____ ____ | || | _____ _____ | || | ____ ____ | |
| ||_ _||_ _|| || ||_ _| |_ _| | || ||_ _||_ _|| || | |_ _||_ _| | |
| | | | | | | || | \ \ / / | || | | | /\ | | | || | \ \ / / | |
| | | ' ' | | || | \ \ / / | || | | |/ \| | | || | > '' < | |
| | \ '--' / | || | \ ' / | || | | /\ | | || | _/ /''\ \_ | |
| | '.__.' | || | \_/ | || | |__/ \__| | || | |____||____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
.----------------. .----------------.
| .--------------. || .--------------. |
| | ____ ____ | || | ________ | |
| | |_ _||_ _| | || | | __ _| | |
| | \ \ / / | || | |_/ / / | |
| | \ \/ / | || | .'.' _ | |
| | _| |_ | || | _/ /__/ | | |
| | |______| | || | |________| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
W zależności od tego, ile masz lat, być może dostałeś zastrzyk nostalgii od tych blokowych liter. Z drugiej strony, po pewnym momencie możesz odczuwać tęsknotę za tym, jak twoje dzieci same przeliterowały te blokowe słowa. Bloki alfabetu, pochodzące z 1693 r. , Były dość powszechnym dziełem edukacyjnym rodziny nuklearnej i nie tylko. Odtworzymy tę nostalgię, wpisując słowo z tej listy słów .
Innymi słowy, wyzwaniem jest wybranie czterech liter z definicji przestrzeni klawiszy i uczynienie ich „ułożonymi” w kolejności określonej przez słownik. Zauważysz, że słownik pomija 4-literowe słowa, tak moon
jak powtarzają litery, i są w zasadzie słowami oszukiwającymi.
Oto sama struktura bloków bez znaków:
.----------------.
| .--------------. | # Tops are periods.
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| '--------------' | # Bottoms are apostrophe's.
'----------------'
Zasady
- Znaków wewnątrz bloków używać tylko:
|/\_'.]-><
. - Liczby nie istnieją, podobnie jak symbole; tylko litery na liście słów.
- Jest to problem złożoności kolmogorowa po wybraniu słowa, musisz wyprowadzać każdy blok dokładnie tak, jak pokazano.
- Możesz wyprowadzać je w dowolnym formacie, pionowym, poziomym, ułożonym w kwadrat; musi jednak czytać od góry do dołu, od lewej do prawej. Ponadto każdy blok musi być wyświetlany bez zmiany, w spójnym formacie. Ma to dać więcej swobody w zapisywaniu bajtów i pozwolić na zróżnicowaną strukturę wyjściową, podobnie jak byłoby to podczas gry z blokami.
- Głównym elementem konkurencyjnym tego wyzwania jest zarówno optymalizacja kompresji, jak i mój inny problem , a także czynniki wpływające na twoją zdolność do rozwiązywania problemów, biorąc pod uwagę przestrzeń na nogi z pozornie „estetycznego” wyboru.
Przykłady
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _________ | || | ____ ____ | || | ______ | || | _________ | |
| | | _ _ | | || | |_ _||_ _| | || | |_ __ \ | || | |_ ___ | | |
| | |_/ | | \_| | || | \ \ / / | || | | |__) | | || | | |_ \_| | |
| | | | | || | \ \/ / | || | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |_ | || | _| |_ | || | _| |___/ | | |
| | |_____| | || | |______| | || | |_____| | || | |_________| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
Ma taką samą ważność jak:
.----------------.
| .--------------. |
| | _________ | |
| | | _ _ | | |
| | |_/ | | \_| | |
| | | | | |
| | _| |_ | |
| | |_____| | |
| | | |
| '--------------' |
'----------------'
.----------------.
| .--------------. |
| | ____ ____ | |
| | |_ _||_ _| | |
| | \ \ / / | |
| | \ \/ / | |
| | _| |_ | |
| | |______| | |
| | | |
| '--------------' |
'----------------'
.----------------.
| .--------------. |
| | ______ | |
| | |_ __ \ | |
| | | |__) | | |
| | | ___/ | |
| | _| |_ | |
| | |_____| | |
| | | |
| '--------------' |
'----------------'
.----------------.
| .--------------. |
| | _________ | |
| | |_ ___ | | |
| | | |_ \_| | |
| | | _| _ | |
| | _| |___/ | | |
| | |_________| | |
| | | |
| '--------------' |
'----------------'
Który jest tak samo ważny jak:
.----------------.
| .--------------. |
| | _________ | |
| | | _ _ | | |
| | |_/ | | \_| | |
| | | | | |
| | _| |_ | |
| | |_____| | |
| | | |
| '--------------' |
'----------------'
.----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. |
| | ____ ____ | || | ______ | || | _________ | |
| | |_ _||_ _| | || | |_ __ \ | || | |_ ___ | | |
| | \ \ / / | || | | |__) | | || | | |_ \_| | |
| | \ \/ / | || | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |_ | || | _| |___/ | | |
| | |______| | || | |_____| | || | |_________| | |
| | | || | | || | | |
| '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------'
Działa to również:
.----------------. .----------------.
| .--------------. || .--------------. |
| | _________ | || | ____ ____ | |
| | | _ _ | | || | |_ _||_ _| | |
| | |_/ | | \_| | || | \ \ / / | |
| | | | | || | \ \/ / | |
| | _| |_ | || | _| |_ | |
| | |_____| | || | |______| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
.----------------. .----------------.
| .--------------. || .--------------. |
| | ______ | || | _________ | |
| | |_ __ \ | || | |_ ___ | | |
| | | |__) | | || | | |_ \_| | |
| | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |___/ | | |
| | |_____| | || | |_________| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
Nawet rzeczy, które wydają się kosztować bajty:
.----------------. .----------------.
| .--------------. || .--------------. |
| | _________ | || | ____ ____ | |
| | | _ _ | | || | |_ _||_ _| | |
| | |_/ | | \_| | || | \ \ / / | |
| | | | | || | \ \/ / | |
| | _| |_ | || | _| |_ | |
| | |_____| | || | |______| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
.----------------. .----------------.
| .--------------. || .--------------. |
| | ______ | || | _________ | |
| | |_ __ \ | || | |_ ___ | | |
| | | |__) | | || | | |_ \_| | |
| | | ___/ | || | | _| _ | |
| | _| |_ | || | _| |___/ | | |
| | |_____| | || | |_________| | |
| | | || | | |
| '--------------' || '--------------' |
'----------------' '----------------'
Jednak układanie bloków w celu zaoszczędzenia bajtów jest zwycięzcą w mojej książce.
To jest golf golfowy , wygrana o najniższej liczbie bajtów.
źródło
hide
albowaxy
.Odpowiedzi:
Węgiel drzewny ,
180164162159158155 bajtówWypróbuj online! Edycja: Zapisano
1618 bajtów, ręcznie rysując literyWAY
; niestetyX
okazuje się zbyt trudny do narysowania, więc nadal jest drukowany za pomocą literału łańcuchowego. Zaoszczędzono kolejne 3 bajty, przełączając się zWAXY
naAHOY
. Zapisałem kolejny bajt przełączając się na,MAYO
ponieważ mogę użyć predefiniowanejχ
zmiennej dla 10. Zapisałem kolejne 3 bajty, powtarzając kopię granicy w pętli. Wyjaśnienie:Pełna lista prawych połówek litery:
Jeśli
O
,W
,X
czyY
to ostatnia litera to ostatni bajt może zostać usunięte. Z drugiej stronyM
,W
iY
koszt 2 bajty jako pierwszej litery lub bajt co litera poO
;H
kosztuje bajt jako pierwszą literę. Przy powyższych liczbach bajtów możliwe są następujące słowa:źródło
.
i'
te,O
które są prawdziwymi zabójcami (kompresowałbym jako podstawową liczbę 6 zamiast podstawowej 4).X
, ma również swój własny problem.PHP, 362 bajtów
MLEKO
Wypróbuj online!
PHP, 258 bajtów Tylko skompresowany
Wypróbuj online!
PHP, 323 bajtów Kod powyżej kompresuje za pomocą eval
Wypróbuj online!
źródło
Galaretka ,
119114 bajtówWHAM
Wypróbuj online!
W jaki sposób?
Ogólną ideą jest wybór liter, które mają symetrię lewo-prawą z minimalnym translacją znaków, aby (a) zmniejszyć bazę, w której dane mogą być kodowane, i (b) utrzymać małą funkcję „odbicia”.
List
H
ma symetrię lewo-prawo, bez potrzeby tłumaczenia. Litery,W
aA
także mają symetrię lewo-prawo, jeśli litery/
s po lewej stronie stają się litery\
s po prawej stronie. Niestety nie ma czterech takich liter (z tymi samymi bokami o takich samych nachyleniach ukośników).Litery takie jak
O
wprowadzają więcej znaków, co zwiększa bazę potrzebną do szyfrowania, tworząc znacznie większą liczbę, a tym samym więcej bajtów.M
, jednak wprowadza tylko drugi ukośnik - jeśli pół wiersze dlaM
są przechowywane w odwrotnej kolejności, a przy niewłaściwych ukośnikach, podstawa jest utrzymywana na poziomie czterech, a po odszyfrowaniu, odwróceniu po prostu tych rzędów po odbiciu wszystko znów się zgadza ( to jestU4¦
w Link 1). Oznacza to również, że tłumaczenie znaków musi uwzględniać tylko stanie\
się,/
a nie odwrotnie (tj.Ṛ“\/”y;
ZamiastṚ“\/“/\”y;
).źródło
M
„s/
s są takie same odwrotnie jakY
s?JavaScript
433416 znakówTak, to nie jest imponujące. Ale wkładam tyle pracy i nie widzę łatwego sposobu na uzyskanie lepszej jakości :)
_ => {r = (s, x) => s.repeat (x)
Nie jestem pewien, czy moje litery są doskonale uformowane:
Wynik zostanie zapisany w
a
zmiennej.źródło
Bubblegum , 119 bajtów
Wypróbuj online!
ŻYCIE. Oto lista wszystkich liter w bardziej czytelnym formacie, którego użyłem do wypróbowania każdego słowa.
źródło