В теории множеств натуральные числа обычно кодируются как чистые множества , то есть множества, которые содержат только пустой набор или другие чистые множества , Однако не все чистые множества представляют собой натуральные числа. Эта задача состоит в том, чтобы решить, представляет ли данный чистый набор кодировку натурального числа или нет.
Кодирование натуральных чисел работает следующим образом 1 :
- Ноль - это пустое множество:
- Для числа :
Таким образом, кодировки первых нескольких натуральных чисел
Задание
- Учитывая строку, представляющую чистый набор, определите, кодирует ли этот набор натуральное число согласно вышеупомянутой конструкции.
- Однако обратите внимание, что элементы набора не упорядочены, поэтому не является единственным допустимым представлением как, например, представляет один и тот же набор.
- Вы можете использовать
[]
,()
или<>
вместо{}
. - Вы можете предположить, что наборы даны без
,
разделителя. - Вы можете предположить
{{},{}}
, что на входе не будет повторяющихся элементов, например, это недопустимый вход, и что вход правильно сформирован, например, нет{{},
,{,{}}
или похожий.
Тестовые случаи
Правда:
{}
{{}}
{{},{{}}}
{{{}},{}}
{{},{{}},{{},{{}}}}
{{{},{{}}},{},{{}}}
{{{{}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
{{{{{}},{}},{{}},{}},{{}},{},{{},{{}}}}
{{},{{}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{{}},{}},{{},{{}},{{},{{}}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Ложь:
{{{}}}
{{{{}}}}
{{{{}},{}}}
{{},{{}},{{{}}}}
{{{},{{}}},{{}}}
{{{{{}}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{{}}}}}
{{{{{}},{}},{{{}}},{}},{{}},{},{{},{{}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Связанный: Естественная конструкция (Выведите заданную кодировку заданного натурального числа.)
1 См. Https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers