Dzisiaj jest Dzień Bekonu i prawdopodobnie dlatego nazwa kapelusza na dzisiejszy udział to „Mmmm Bacon”. Czy jest lepszy sposób na uczczenie dnia bekonu dzięki wypełnionym zabawą matrycom 2D wykonanym z bekonu! Pasek boczku 1 na 1 jest reprezentowany przez to:
-----
)===)
(===(
)===)
-----
Twój cel tutaj ma dwie współrzędne w krotce ( x
, y
), gdzie x
i y
są niezerowymi liczbami całkowitymi dodatnimi, musisz utworzyć boczek i zwrócić w jakimś formacie (lista, tablica, łańcuch).
Wejście i wyjście:
Input: (2, 1)
Output:
----------
)===))===)
(===((===(
)===))===)
----------
Input: (1, 2)
Output:
-----
)===)
(===(
)===)
-----
)===)
(===(
)===)
-----
Input: (2, 2)
----------
)===))===)
(===((===(
)===))===)
----------
)===))===)
(===((===(
)===))===)
----------
Zasady:
Jak widać w drugim przypadku testowym, jeśli wiele kawałków boczku jest ułożonych w stos, tylko jeden
-----
dzieli się z każdym kawałkiem boczku powyżej i / lub poniżej. Oznacza to, że układanie boczku w ten sposób jest nieprawidłowe:----- )===) (===( )===) ----- ----- )===) (===( )===) -----
Standardowe luki są zabronione
Prace kod obowiązkowa dla powyższych przypadków testowych oraz następujące:
(4, 4)
,(1, 6)
,(5, 1)
,(2, 3)
,(3, 2)
Zapewnij tłumacza, w którym można przetestować powyższe przypadki testowe
Zwycięskie kryteria:
Najkrótszy kod wygrywa! Szczęśliwego dnia bekonu dla wszystkich!
źródło
Odpowiedzi:
V ,
28, 26, 24 bajtówWypróbuj online!
Wyjaśnienie:
źródło
TI-Basic, 80 bajtów
Ten był naprawdę genialny :)
źródło
Input
bez argumentów domyślnie wprowadza dane doX
iY
.Python 2.7, 74 bajty
Jestem pewien, że można by jeszcze trochę zagrać w golfa, ale oto co wymyśliłem (przydatna jest funkcja mnożenia ciągów w Pythonie):
Wypróbuj tutaj !
Nieoznakowany z wyjaśnieniem:
źródło
Mathematica, 74 bajty
Funkcja bez nazwy, która przyjmuje dwa argumenty liczby całkowitej dodatniej i zwraca ciąg znaków z nowymi wierszami. Standardowe podejście matematyczne: zbuduj tablicę 2d łańcuchów za pomocą selektora (mod 4), aby cyklicznie przeciągać łańcuchy w kierunku pionowym, a następnie zwinąć je w pojedynczy łańcuch.
źródło
Partia, 168 bajtów
Raczej nie mogę napisać
@echo %s:==-%
inaczej, co wyeliminowałoby konieczność stosowania drugiej zmiennej.źródło
&
...C,
9189 bajtówźródło
05AB1E , 25 bajtów
Kod:
Wyjaśnienie:
Wykorzystuje kodowanie CP-1252 . Wypróbuj online!
źródło
05AB1E ,
3230 bajtówZaoszczędzono 2 bajty dzięki Adnan .
Wypróbuj online!
Wyjaśnienie
źródło
")===)"
przez…)==û
:Python 2 , 70 bajtów
Dzięki @xnor za zapisanie 4 bajtów!
Wypróbuj online!
źródło
[_::3]
że byłby krótszy.2**n%5%3
które cykle[1, 2, 1, 0, 1, 2, 1, 0, ...]
. Czy to może być przydatne?Python 2, 59 bajtów
Generuje każdą linię
a+b*3+a
od znaku początkowegoa
i znaku środkowegob
(z którego oblicza sięa
). Wa
„S przechodzić'-()('
, ab
to'-'
poa
to'-'
, a'='
inaczej.67 bajtów:
Generuje każdą linię od jego zewnętrznej postaci
a
i środkowej charakterub
jakoa+b*3+a
, a następnie drukujew
kopie tego. Są cykl za pośrednictwemzip
.źródło
JavaScript,
132129121 bajtów-8 bajtów dzięki @ user2428118
To może być prawdopodobnie bardziej golfa. Jeśli masz sugestię, zostaw ją w komentarzach.
źródło
(x,y)=>eval('a=b=[d="-----",c=")===)","(===(",c,d];for(i=0;++i<y;)b=[...b,...a.slice(1)].map(v=>v.repeat(x)).join
_BACKTICK NEWLINE;')
Lua, 132 bajty
Długa, dosłowna próba łańcucha. Wypróbuj tutaj .
źródło
JavaScript (ES6), 78
Test
źródło
GameMaker Language,
160139148 bajtów133 bajtyźródło
Galaretka , 26 bajtów
To diademiczne łącze (funkcja), które zwraca tablicę 2D.
Wypróbuj online!
Jak to działa
źródło
C,
159158153 bajtówZadzwoń z:
źródło
C #, 160 bajtów
Wersja sformatowana:
Wypróbuj online! (z jakiegoś powodu ten link wyświetla błąd, ale i tak działa)
źródło
Dart,
125117 bajtówWypróbuj tutaj!
źródło
Dyalog APL, 55 bajtów
Po raz pierwszy korzystam z Dyalog APL, więc jestem pewien, że nie jest to najlepsze podejście.
Objaśnienie: Jest to dość proste podejście, dla siatki boczków N × M tworzę macierz N × (4M) następujących czterech ciągów, powtarzając:
Następnie łączę ciąg
-----
do początku.Oto krótkie wyjaśnienie kodu:
źródło
Tcl , 91 bajtów
Wypróbuj online!
źródło
PowerShell , 64 bajty
Wypróbuj online!
źródło