编写一个程序,通过非空白字符的字符串去(你可以认为他们是数字0
到9
,但没有在他们要处理的方式取决于此),并根据以下规则增加了空间。
- 假设当前标记为空字符串,而先前发出的标记为空集。
- 遍历字符串的字符。对于每个字符,首先将字符附加到当前标记。然后,如果当前令牌尚未包含在先前发出的令牌集中,则将当前令牌添加到该令牌集中,并将新的当前令牌作为空字符串。
- 如果到达字符串末尾时当前标记为空,则按发射顺序输出先前发射的标记,并用空格字符分隔。否则,逐字输出原始字符串。
输入值
STDIN的输入应为数字序列。
输出量
程序应按照步骤3中的指定打印结果。
样品
样本输入
2015
10101010
4815162342
101010101010
3455121372425
123456789101112131415
314159265358979323846264338327950288419716939937
样本输出
2 0 1 5
10101010
4 8 1 5 16 2 3 42
1 0 10 101 01 010
3 4 5 51 2 1 37 24 25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
3 1 4 15 9 2 6 5 35 8 97 93 23 84 62 64 33 83 27 95 0 28 841 971 69 39 937
这是代码高尔夫球,因此适用标准CG规则。以字节为单位的最短程序获胜。
(请在评论中要求任何澄清。我对此仍然陌生。谢谢!)
1 0 10
,下一个迭代将查找1
(已使用),然后进行一个迭代以查找(已使用),然后进行一个迭代10
以查找101
,这是新的并且将被“添加”。然后它将添加一个空格,您将获得一个new 0
,它已经被使用了,但是在字符串的末尾。因此,输出将为1 0 10 101 0
,这是无效的(0
重复),然后脚本必须仅输出输入字符串。它只能做出1010
是否101
已经被使用。
If a unique number cannot be formed at the end of the string, then the input should be printed verbatim
10101010无法拆分,因此按原样打印。
1
,这将是重复。因此,您改为在空间5中向右移动一个,然后在步骤4中再次向右移动,然后再次输入步骤5并创建101
。
4815162342
哥,我知道你在那里做什么。