Em teoria dos conjuntos, os números naturais geralmente são codificados como conjuntos puros , ou seja, conjuntos que contêm apenas o conjunto vazio ou outros conjuntos que são puros. No entanto, nem todos os conjuntos puros representam números naturais. Esse desafio é decidir se um determinado conjunto puro representa uma codificação do número natural ou não.
A codificação de números naturais funciona da seguinte maneira 1 :
- Zero é o conjunto vazio:
- Para um número :
Assim, as codificações dos primeiros números naturais são
A tarefa
- Dada uma sequência que representa um conjunto puro, determine se esse conjunto codifica um número natural de acordo com a construção acima.
- Observe, no entanto, que os elementos de um conjunto não são ordenados; portanto, não é a única representação válida de como, por exemplo, representa o mesmo conjunto.
- Você pode usar
[]
,()
ou em<>
vez de{}
. - Você pode assumir que os conjuntos são fornecidos sem o
,
separador as. - Você pode assumir que não haverá elementos duplicados na entrada, por exemplo,
{{},{}}
não é uma entrada válida e que a entrada está bem formada, por exemplo{{},
, não{,{}}
ou similar.
Casos de teste
Verdade:
{}
{{}}
{{},{{}}}
{{{}},{}}
{{},{{}},{{},{{}}}}
{{{},{{}}},{},{{}}}
{{{{}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
{{{{{}},{}},{{}},{}},{{}},{},{{},{{}}}}
{{},{{}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{{}},{}},{{},{{}},{{},{{}}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Falso:
{{{}}}
{{{{}}}}
{{{{}},{}}}
{{},{{}},{{{}}}}
{{{},{{}}},{{}}}
{{{{{}}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{{}}}}}
{{{{{}},{}},{{{}}},{}},{{}},{},{{},{{}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Relacionado: Construção natural (gera a codificação definida de um determinado número natural.)
1 Consulte https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers