Weź flagę, taką jak ta:
-----------------------------
| | |
| | |
|=============+=============|
| | |
| | |
-----------------------------
I wprowadzanie liczb: „długość fali”
Powiedzieć, że długość fali była 5. Następnie, co 5 znaków wzdłuż linii od początku, należy wymienić kolejną charakterem -
z \
i przesunąć wszystkie znaki po nim jeden wiersz w dół. Powtarzaj to do końca. Kończysz z:
-----\
| -----\
| -----\
|===== | -----\
| ====== | -----
| ==+=== |
-----\ | ====== |
-----\ | ====|
-----\ |
-----\ |
-----
Jeśli nie będziesz w stanie wykonać pełnej długości fali na końcu, flaga jest skończona. Pozostań płasko do końca.
Możesz założyć, że wszystkie wiersze mają tę samą długość oraz że górne i dolne wiersze składają się całkowicie z -
(0x2D), a reszta znaków jest w !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
, lub jest spacją ( ). (Więc jest to wartość ascii
x
, gdzie 31 < x < 127
)
Flaga będzie miała co najmniej 3 wysokości i 3 szerokości.
Długość fali będzie nieujemną liczbą całkowitą (> = 0).
(Możesz także mieć długość fali 1 jako najmniejszą długość fali, więc powyższy przykład miałby długość fali 6. To jest OK.)
Twoje we / wy flagi mogą być jak tablice linii lub ciąg z wieloma liniami.
Flaga wyjściowa może mieć spacje końcowe, ale może mieć tylko spacje wiodące, o ile jest taka sama na każdej fladze. Końcowe spacje na fladze wejściowej mogą zostać usunięte.
Punktacja
To jest golf golfowy, więc wygrywa najkrótsze rozwiązanie w bajtach.
Przypadki testowe
---
abc
---
2
--\
abc
--\
-----
| + |
-----
10
-----
| + |
-----
---------------------------------------
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& |\| |/| &&&&&&|
|&&&&&& .--' '--. &&&&&&|
|&&&&&& \ / &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
---------------------------------------
12
------------\
|&&&&&& ------------\
|&&&&&& ------------\
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& . |\| |/| &&&&&&|
|&&&&&& --' '-- &&&&&&|
|&&&&&& \ /. &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
------------\ &&&&&&|
------------\ &&&&&&|
------------\
-----------------------
|-._`-._ :| |: _.-'_.-|
| `-._`:| |:`_.-' |
|-------`-' '-'-------|
|------_.-. .-._------|
| _.-'_.:| |:._`-._ |
|-'_.-' :| |: `-._`-|
-----------------------
4
----\
|-._`----\
| `-._ :----\
|-----._`:| |: ----\
|-------`-| |:`_.-'_---
| _.--_.-' '-'_.-' .-|
|-'_.-'_.:. .-.----- |
----\-' :| |:._------|
----\| |: _`-._--|
----\ `-._ |
----\`-|
---
---------------
---------------
---------------
---------------
---------------
5
-----\
-----------\
---------------
---------------
-----\---------
-----\---
---
-------------------------------------------
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
|--------------- |
|#########################################|
| |
|#########################################|
| |
|#########################################|
-------------------------------------------
0
\
|\
|*\
| \
|** \
| *\
|** \
| ** \
|** *\
|- ** \
|#- ** \
| #-** *\
|# #- ** \
| # #- ** \
\# # #-** *\
\# # #- ** \
\# # #- **|\
\# # #-** |#\
\# # #- **| #\
\# # #- |# #\
\# # #-**| # #\
\# # #- |# # #\
\# # #-| # # #\
\# # #-# # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # |
\# # # # # #|
\# # # # # |
\# # # # #|
\# # # # |
\# # # #|
\# # # |
\# # #|
\# # |
\# #|
\# |
\#|
\|
\
źródło
Odpowiedzi:
05AB1E ,
25232625 bajtów-2 dzięki Adnan
-1 dzięki Emignie
+3 podziękowania dla Jonathana Allana (dzięki za poświęcenie czasu na złapanie tej nieważności!)
Wypróbuj online!
Jest to indeks 1 zamiast 0, +2 bajty, jeśli nie jest to w porządku.
Emigna / Adnan / Anyone - musi istnieć lepsze rozwiązanie, aby zastąpić te skosy, ale jestem zakłopotany.
źródło
ú
jest taki sam jakð×ì
:)Pyth , 35 bajtów
Wypróbuj online!
źródło
Python 2 , 129 bajtów
Wypróbuj online!
źródło
Galaretka , 29 bajtów
Flagi wejściowe i wyjściowe są listami linii.
Długość fali jest indeksowana 1.
Zawsze tworzy jedną linię spacji.
(wszystkie powyższe są wyraźnie dozwolone w opublikowanym pytaniu)
Wypróbuj online! (stopka, aby wyglądać ładnie, we / wy - przyjmuje i odbiera flagi jako tekst wielowierszowy)
W jaki sposób?
Całkiem podobna metoda do odpowiedzi 05ab1e carusocomputing , której nie udało mi się jeszcze bardziej pograć w golfa.
źródło
MATL , 31 bajtów
Wypróbuj online! Lub sprawdź wszystkie przypadki testowe: 1 , 2 , 3 , 4 , 5 , 6 , 7 .
źródło
-
na[\]
?JavaScript (ES6), 175 bajtów
I / O jest ciągiem rozdzielanym znakiem nowej linii. Dane wyjściowe obejmują wiodącą nową linię; można to usunąć kosztem 3 bajtów. Próbowałem bezpośrednio obliczyć ciąg wyjściowy, ale zajęło mi to ... 176 bajtów:
I / O ma postać tablicy łańcuchowej.
źródło
PHP,
168 164 187 172 167 153 150 152149 bajtówpobiera flagę z pliku statycznego
a
i długość fali (minimum 1) ze STDIN.Uruchom jako potok z
php -nr
lub spróbuj online .awaria
źródło
$z&&$z!=$r-1
powinno być równoważne$z%($r-1)
zapisaniu 3 bajtów.