SP384 FOOL - Any fool can do it

题目描述

你一定认识某个自以为聪明的人。你决定考验他,用下面的问题来看看他的本事: - 你问他:「你知道集合的语法是什么吗?」 - 他自信地说:「当然知道!集合就是用一对大括号把一个可能为空的元素列表括起来。列表中的每个元素要么是另一个集合,要么是字母表中的一个字母。元素之间用逗号分隔。」 - 你继续问:「如果我给你一个字符串,你能够判断它是否是集合的正确表示吗?」 - 他回答:「当然行,这种小问题谁都能搞定!」 好,现在你逮住他了!你给他展示下面的正式语法规则,来定义一个集合的语法(他之前的描述是非正式的): ``` Set ::= "{" Elementlist "}" Elementlist ::= | List List ::= Element | Element "," List Element ::= Atom | Set Atom ::= "{" | "}" | "," ``` 这里 代表空字符串,即集合中的元素列表可以是空的。很快,他意识到这个任务比他想象的要困难多了,因为字母表中的字符和集合语法中使用的字符重合。他声称,无法高效判断一个由 `{`、`}` 和 `,` 组成的字符串是否是集合的正确表示。 为了驳倒他的说法,你需要编写一个高效的程序来解决这个问题。

输入格式

输入包含多行,每一行是一个仅由 `{`、`}` 和 `,` 组成的字符串。每行字符串的长度最多为 100 个字符。

输出格式

对于每个输入字符串,如果它是集合的正确表示,则输出 `true`;否则输出 `false`。

说明/提示

- 每行字符串的长度最多为 100 个字符。 **本翻译由 AI 自动生成**