En la teoría de conjuntos, los números naturales generalmente se codifican como conjuntos puros , es decir, conjuntos que solo contienen el conjunto vacío u otros conjuntos que son puros. Sin embargo, no todos los conjuntos puros representan números naturales. Este desafío consiste en decidir si un conjunto puro dado representa una codificación de número natural o no.
La codificación de números naturales funciona de la siguiente manera 1 :
- Cero es el conjunto vacío:
- Para un número :
Por lo tanto, las codificaciones de los primeros números naturales son
La tarea
- Dada una cadena que representa un conjunto puro, determine si este conjunto codifica un número natural de acuerdo con la construcción anterior.
- Sin embargo, tenga en cuenta que los elementos de un conjunto no están ordenados, por lo que no es la única representación válida de ya que, por ejemplo, representa el mismo conjunto.
- Puede usar
[]
,()
o en<>
lugar de{}
. - Puede suponer que los conjuntos se proporcionan sin el
,
separador as. - Puede suponer que no habrá elementos duplicados en la entrada, por ejemplo,
{{},{}}
no es una entrada válida, y que la entrada está bien formada, por ejemplo{{},
, no ,{,{}}
o similar.
Casos de prueba
Cierto:
{}
{{}}
{{},{{}}}
{{{}},{}}
{{},{{}},{{},{{}}}}
{{{},{{}}},{},{{}}}
{{{{}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
{{{{{}},{}},{{}},{}},{{}},{},{{},{{}}}}
{{},{{}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{{}},{}},{{},{{}},{{},{{}}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Falso:
{{{}}}
{{{{}}}}
{{{{}},{}}}
{{},{{}},{{{}}}}
{{{},{{}}},{{}}}
{{{{{}}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{{}}}}}
{{{{{}},{}},{{{}}},{}},{{}},{},{{},{{}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Relacionado: Construcción natural (genera la codificación de conjunto de un número natural dado).
1 Consulte https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers