挑战
给定一个字符串输入,输出它的已删除版本。
流程
P
r      Pr       r
o       o       o
g       g       g
r       r       r      rogr         r
a  ->   a  ->   a  ->     a  ->     a  ->           ->           ->           ->           ->  
m       m       m         m         m
m       m       m         m         m         mmar         m
i       i       i         i         i         i            i           mi           m
n       n       n         n        gn        gn           gn           gn           gni         mgni
g       g      Pg        Pg      roPg      roPg         roPgmar      roPgmar      roPgmar      roPgmar
- 垂直放置琴弦。
- 在1和之间以及(height of the column of characters) - 1一个随机方向(左或右)之间选择一个随机整数。
- 在该方向上旋转该数目的字符(如果没有占用这些空格,请转到步骤4;否则,请回到步骤2)。
- 让那些角色由于重力而掉落。
- 重复直到字符列的高度最多1大于其旁边的列的高度(即无法进一步拆除(“步骤2-4”)该列)。
- 如果还有另一列字符比1其周围的一个或多个周围字符的字符高(即可拆卸),请重复拆卸该列,直到不再可拆卸为止。如果有多个可拆列,则完全拆掉最高的列(如果有多个最高列,则彻底拆掉最左边的列)。
- 重复进行,直到所有列都无法删除。
如果输入中有空格字符,请首先将其全部删除。
C
o
d      
e  ->     oC  ->         ->  ...
       de         
G        G          G
o        o          o
l        l          l
f        f        defoC
规则
- 禁止出现标准漏洞。
- 尾随换行符是允许的。
- 您的程序可能会打印或返回一个字符串/等效字符串。
- 输出必须是不确定的(除非输入不可拆卸)。
这是代码高尔夫球,因此在其语言中具有最小字节数的提交将获胜!
                
                1
              
                  我会怀疑这里是否真的需要随机
                
                
                  
                    —
                    Keyu Gan 
                    
                  
                
              
                  @KeyuGan我认为,如果人们不得不选择固定数量的字符并左右交替,挑战将是微不足道的。
                
                
                  
                    —
                    JungHwan Min 
                    
                  
                
              
                  我们仍然可以说4是随机的,并且通过掷骰子返回
                
                
                  
                    —
                    我的代词是monicareinstate 
                    
                  
                
              
                  @someone 
                
                  
                    —
                    JungHwan Min 
                    
                  
                
              4将使输出具有确定性,即不是“随机”。编辑了规则以使其明确。
                
                  @someone你是因为XKCD在4指的?
                
                
                  
                    —
                    Giacomo Garabello