{}
- порожній набір. Ви можете використовувати ()
або []
якщо захочете.
Ми не будемо чітко визначати "встановити", але всі набори відповідають таким властивостям:
Набори дотримуються звичайної математичної структури. Ось кілька важливих моментів:
- Набори не замовлені.
- Жоден набір не містить себе.
- Елементи є або в наборі, або ні, це булеве. Тому набір елементів не може мати кратності (тобто елемент не може бути у множині кілька разів.)
- Елементи набору також є множинами і
{}
є єдиним примітивним елементом.
Завдання
Напишіть програму / функцію, яка визначає, чи рівні два набори.
Вхідні дані
Два допустимих набору через аргумент stdin або аргумент. Формат вводу втрачається в межах причини.
Деякі дійсні входи:
{} {{}}
{{},{{}}} {{{{{},{{}}}}}}
{{},{{},{{}}}} {{{},{{}}},{{{{{},{{}}}}}}}
Недійсні входи:
{{} {} Brackets will always be balanced.
{{},{}} {} Set contains the same element twice
Вихідні дані
Достовірне значення, якщо входи рівні, помилково хибні.
Тестові справи
Ваша заявка повинна відповідати правильно для всіх дійсних даних, а не лише для тестових випадків. Вони можуть бути оновлені в будь-який момент.
Truthy:
{} {}
{{},{{}}} {{{}},{}}
{{},{{},{{{}},{}}}} {{{{},{{}}},{}},{}}
Фальсі:
{} {{}}
{{},{{},{{{}},{}}}} {{{{}}},{},{{}}}
{{},{{}},{{{}}},{{},{{}}}} {}
Оцінка балів
Додаткові правила
Додано додаткове правило, яке забороняє взагалі не упорядковані ітерабельні типи. Вони занадто поширені і занадто сильно реалізують цей виклик. Не соромтесь залишати відповіді, що порушують це, на місці, будь ласка, вкажіть, що вони були зроблені до зміни правила.
==
у Джулія, 2 байти; frozenset.__eq__
в Python - 16 байт тощо).
See the comments for an explanation.
Будь ласка, не робіть цього. Коментарі є летючими і йдуть дуже легко, тому важливо йде тільки капелюхи в пост тіла