Teoretycznie zadanej liczby naturalne są zwykle kodowane jako czyste zestawy , czyli zestawy zawierające tylko pusty zestaw lub inne zestawy, które są czyste. Jednak nie wszystkie czyste zbiory reprezentują liczby naturalne. Wyzwanie polega na podjęciu decyzji, czy dany czysty zestaw reprezentuje kodowanie liczby naturalnej, czy nie.
Kodowanie liczb naturalnych działa w następujący sposób 1 :
- Zero to pusty zbiór:
- Dla liczby :
Tak więc kodowanie pierwszych kilku liczb naturalnych jest
Zadanie
- Biorąc pod uwagę ciąg reprezentujący czysty zestaw, określ, czy ten zestaw koduje liczbę naturalną zgodnie z powyższą konstrukcją.
- Pamiętaj jednak, że elementy zestawu nie są uporządkowane, więc nie jest jedyną prawidłową reprezentacją np. reprezentuje ten sam zestaw.
- Można użyć
[]
,()
lub<>
zamiast{}
. - Możesz założyć, że zestawy są podane bez
,
separatora. - Można założyć, że nie będzie żadnych zduplikowanych elementów w wejściu, na przykład
{{},{}}
nie jest poprawnym wejście, a wejście jest dobrze uformowane, na przykład brak{{},
,{,{}}
lub podobny.
Przypadki testowe
Prawdziwe:
{}
{{}}
{{},{{}}}
{{{}},{}}
{{},{{}},{{},{{}}}}
{{{},{{}}},{},{{}}}
{{{{}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
{{{{{}},{}},{{}},{}},{{}},{},{{},{{}}}}
{{},{{}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{{}},{}},{{},{{}},{{},{{}}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Fałszywe:
{{{}}}
{{{{}}}}
{{{{}},{}}}
{{},{{}},{{{}}}}
{{{},{{}}},{{}}}
{{{{{}}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{{}}}}}
{{{{{}},{}},{{{}}},{}},{{}},{},{{},{{}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Powiązane: Konstrukcja naturalna (Wyjście kodowania zestawu podanej liczby naturalnej.)
1 Patrz https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers