To pytanie jest częścią serii Wyzwań urodzinowych Brain-flak zaprojektowanych z okazji pierwszych urodzin Brain-Flak. Więcej informacji na temat urodzin Brain-Flaka można znaleźć tutaj .
Dzisiaj są pierwsze urodziny Brain-Flak! Pomyślałem więc, że zorganizujemy przyjęcie urodzinowe z niespodzianką. Więc w swoim ulubionym języku drukuj
Surprise!
Happy Birthday, Brain-Flak!
(Końcowe białe znaki są dozwolone)
Jak zawsze programy powinny być rozgrywane w golfa. Ponieważ jednak programy Brain-Flak składają się z nawiasów, nie będą liczyć żadnych nawiasów w twoim źródle przeciwko tobie. (Postacie ()[]<>{}
nie liczą się do całkowitej liczby bajtów), ale muszą być wyważone, aby nie zakłócać Flakingu Mózgu.
Zasady
Oto podział zasad
Nawiasy w źródle muszą być zrównoważone. Oznacza to, że nawiasy twojego programu muszą być rozmieszczone według następującej gramatyki:
S -> SS | (S) | [S] | <S> | {S} | E
gdzie
E
jest pusty ciąg.To znaczy, że zbalansowany ciąg jest albo połączeniem dwóch zbalansowanych ciągów, nawiasów wokół zbalansowanego ciągu lub pusty ciąg.
Wynik programu to liczba bajtów spoza nawiasu.
Twoim celem powinno być zminimalizowanie wyniku w dowolnym wybranym języku.
Obowiązują standardowe zasady, więc możesz napisać albo pełny program, albo funkcję.
w przypadku remisu liczba nieprzetworzonych bajtów działa jak przerywnik remisu
Z pewnością będą rozwiązania zero-bajtowe w niektórych językach ( nawias piekła , nawias , glif , lenguage ). Spróbuj znaleźć sposoby na dobrą grę w golfa w językach, w których nie jest to trywialne zadanie.
><
uważany za zbalansowany, czy też nawiasy klamrowe muszą być w odpowiedniej kolejności ( <>
)?