{}
jest pustym zestawem. Możesz użyć ()
lub []
jeśli chcesz.
Nie zamierzamy rygorystycznie definiować „zestawu”, ale wszystkie zestawy spełniają następujące właściwości:
Zestawy mają zwykłą strukturę matematyczną. Oto kilka ważnych punktów:
- Zestawy nie są zamawiane.
- Żaden zestaw nie zawiera siebie.
- Elementy są albo w zestawie, albo nie, to jest wartość logiczna. Dlatego ustawione elementy nie mogą mieć wielokrotności (tzn. Element nie może znajdować się w zestawie wiele razy).
- Elementy zestawu są również zestawami i
{}
jest jedynym prymitywnym elementem.
Zadanie
Napisz program / funkcję, która określa, czy dwa zestawy są równe.
Wejście
Dwa prawidłowe zestawy za pomocą argumentu stdin lub funkcji. Format wejściowy jest luźny w granicach rozsądku.
Niektóre prawidłowe dane wejściowe to:
{} {{}}
{{},{{}}} {{{{{},{{}}}}}}
{{},{{},{{}}}} {{{},{{}}},{{{{{},{{}}}}}}}
Nieprawidłowe dane wejściowe:
{{} {} Brackets will always be balanced.
{{},{}} {} Set contains the same element twice
Wynik
Prawdziwa wartość, jeśli dane wejściowe są równe, w przeciwnym razie fałsz.
Przypadki testowe
Twoje zgłoszenie powinno poprawnie odpowiedzieć na wszystkie prawidłowe dane wejściowe, nie tylko na przypadki testowe. Mogą one być aktualizowane w dowolnym momencie.
Prawda:
{} {}
{{},{{}}} {{{}},{}}
{{},{{},{{{}},{}}}} {{{{},{{}}},{}},{}}
Falsy:
{} {{}}
{{},{{},{{{}},{}}}} {{{{}}},{},{{}}}
{{},{{}},{{{}}},{{},{{}}}} {}
Punktacja
Dodatkowe zasady
Dodano dodatkową regułę całkowicie zakazującą nieuporządkowanych typów iteracyjnych. Są zbyt powszechne i zbyt trywializują to wyzwanie. Możesz zostawić odpowiedzi, które naruszają to miejsce, po prostu zaznacz, że zostały udzielone przed zmianą reguły.
==
w Julia, 2 bajty; frozenset.__eq__
w Pythonie 16 bajtów; itp.).
See the comments for an explanation.
Proszę nie rób tego. Komentarze są niestabilne i odchodzą bardzo łatwo, więc ważny sutff trafia do treści postu