集合論では、自然数は通常、純集合としてエンコードされます。これは、空集合または他の純集合のみを含む集合です。 。ただし、すべての純粋なセットが自然数を表すわけではありません。この課題は、特定の純粋なセットが自然数のエンコードを表すかどうかを決定することです。
自然数のエンコードは、次のように機能します1。
- ゼロは空のセットです:
- 数値:
したがって、最初のいくつかの自然数のエンコーディングは
タスク
- 純粋なセットを表す文字列を指定して、このセットが上記の構成に従って自然数をエンコードするかどうかを決定します。
- ただし、セットの要素は順序付けられていないため、、が同じセットを表すため、唯一の有効な表現ではありません。
- あなたは使用することができ
[]
、()
または<>
代わりに{}
。 - セットが
,
asセパレータなしで指定されていると仮定できます。 - 入力に重複する要素が存在しない、たとえば
{{},{}}
有効な入力ではない、入力が整形されていない{{},
、たとえばno 、{,{}}
または同様のものであると想定できます。
テストケース
正しい:
{}
{{}}
{{},{{}}}
{{{}},{}}
{{},{{}},{{},{{}}}}
{{{},{{}}},{},{{}}}
{{{{}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
{{{{{}},{}},{{}},{}},{{}},{},{{},{{}}}}
{{},{{}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{{}},{}},{{},{{}},{{},{{}}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
偽:
{{{}}}
{{{{}}}}
{{{{}},{}}}
{{},{{}},{{{}}}}
{{{},{{}}},{{}}}
{{{{{}}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{{}}}}}
{{{{{}},{}},{{{}}},{}},{{}},{},{{},{{}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
関連:Natural Construction(指定された自然数のセットエンコーディングを出力します。)
1 https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbersを参照してください