挑战
给定两个默认I / O格式的字符串,请执行以下操作:
注意:质询将第一个字符串称为“数据”,第二个字符串称为“程序”。
- 将程序更改为无限字符串,该字符串就是程序无限重复(例如
10
->1010101010...
)。挑战将其称为“无限程序” 当数据为非空时,请在无限程序上循环执行以下操作:
一种。如果当前命令为“ 0”,则删除数据中最左边的位。如果数据为空,则“ 0”不执行任何操作。
b。如果当前命令为“ 1”,则如果数据中最左边的位为1,则将程序中的下一个字符附加到数据中。
C。如果现在数据不为空,则输出数据。
测试用例
数据是输入的左侧,程序是右侧。
100, 0 --> 00, 0
1111, 1 --> 11111, 111111, 1111111, ...
10, 011 --> 0, 0, 0
1110, 011 --> 110, 1101, 11010, 1010...
笔记
- 数据和程序将仅包含0和1
- 对于不暂停的数据/程序,您的程序无需暂停。
- 数据和程序在输入中不会为空。
- 您可能有多个尾随和换行符
- 禁止标准漏洞
- 您可以使用任何方便的I / O格式
与代码高尔夫球一样,最短的代码胜出!
@Sanchises看起来像是在复制边界线,但是您必须在某一代获得结果,并且该结果适用于任何循环标签系统。
—
MilkyWay19年
在第一个测试用例中,
—
乔纳
100
转到10
cmd 0
,其定义是“删除数据中最左边的位”。是不是最左边的100
是1
?
@Jonah Oh,错过了
—
MilkyWay90
在情况(b)中,如果执行追加操作,指令指针会向右移动一两个字符吗?
—
Sparr
@Sparr它向右移动。请参阅“挑战”部分。
—
MilkyWay19年