#P2876. Cantoring Along

Cantoring Along

Cantor 套装问题

问题描述

Cantor 套装是由 Georg Cantor 发现的。它是更简单的分形之一。它是一个无限过程的结果,因此对于这个程序,打印整个集合的近似值就足够了。以下步骤描述了为给定阶数 Cantor set 获取所需输出的一种方法:

  1. 从一串短划线开始,长度为 3order3^\text{{order}}
  2. 将短划线行的中间三分之一替换为空格。原始字符串的两端各有两行短划线。
  3. 将每行短划线的中间三分之一替换为空格。重复此操作,直到线条由单个虚线组成。

例如,如果近似阶数为 3,则从包含 27 个虚线的字符串开始:

---------------------------

删除字符串的中间三分之一

--------- ---------

删除每个片段的中间三分之一

--- --- --- ---

再次重复,直到破折号组的长度均为 1 时,该过程到此停止

- - - - - - - -

您不应打印程序中的中间步骤。只应显示上面最后一行给出的最终结果。

输入说明

每行输入将是一个介于 0 和 12 之间(包括 0 和 12)的数字,表示近似值的顺序。当到达文件末尾时,输入停止。

输出说明

您必须输出 Cantor 集的近似值,后跟换行符。Cantor set 近似之前或之后没有空格。您的行中应出现的唯一字符是 '-' 和 ' '。每组后跟一个换行符,但输出中不应有额外的换行符。

0
1
3
2
-
- -
- -   - -         - -   - -
- -   - -

来源

2002 年大西洋中部音乐节