(受此挑战启发很大)
在最初的挑战中,您要制作一个水平拉链,但是,低头看我的连帽衫,我的拉链更加垂直(并且有点破损):P
输入项
系统会为您提供单个字符串(s
)和任意格式的一对整数(a
和b
)。哪里:
a < (length-of-s / 2)
b <= ((length-of-s / 2) - (a + 1)) / 6
输出和计分
您的程序可以是完整程序,也可以是产生具有正确格式的单个字符串或所选数组(每行一项)的函数。只要输出的字符全部对齐,前导和尾随空格以及换行符是可选的。例如。
["f r"],["u e"],["l p"],["l p"],["y i"],[" o z "],[" p n "],[" e "]
要么
"f r\nu e\nl p\nl p\ny i\n o z \n p n \n e "
是测试用例1可接受的输出
禁止使用标准漏洞,以字节为单位的最短代码为准。任何没有解释的答案将无法取胜。
说明
要制作拉链,您必须首先从字符串中删除所有空格或换行符。然后像这样折成两半(有关更多信息,请参见测试用例1)
abcde fgh ij klmnopqr
变成下面的两个字符串,请注意后半部分颠倒了。
abcdefghi
和 rqponmlkj
然后从每个字符串的开头开始,将来自每个子字符串的相同索引字符放在一行上,并按如下所示确定间距:
[0] a r -- (a-3) five spaces
[1] b q -- (a-2) three spaces
[2] c p -- (a-1) one space
[3] d -- (a)
[4] o
[5] e
[6] n
etc...
这就是我们拉链的基础。现在,整数a
和b
。
a
是我们拉链的位置。为了确定拉链的位置,我们使用输出线的索引作为关闭拉链的位置。例如,[3]
在我上面的示例中放在方括号中的是拉链所在的位置。
在我们的拉链闭合之前,上述拉链必须保持五个空间的间隙,直到到达a-2
接近3个空间和a-1
接近1个空间的位置为止。请注意,在上面的示例中a = 3
(0索引)
b
是我拉链中的孔数。要在拉链上创建一个孔,我们以一定的间距再次将字符串分开。
从示例孔的索引开始,随着h
我们将间距h-1
增加到一个空间,再h
增加到3个空间,再h+1
返回到一个空间,离开h-2
,h+2
每行只有一个字符,因为它们被算作孔的一部分。
拉链之后和每个孔之间必须有一个字符的间隙,以便我们的拉链看起来完全连接在孔之间。
您可以选择孔的索引,但是它们必须全部存在于拉链的“封闭”部分中。
Again using 'abcdefghi' and 'rqponmlkj'
[0] a r -- (open)
[1] b q -- (closing)
[2] c p -- (closing)
[3] d -- zip
[4] o -- gap
[5] e -- start of hole (h-2)
[6] n f -- one space (h-1)
[7] m g -- three spaces (hole h)
[8] l h -- one space (h+1)
[9] k -- end of hole (h+2)
[10] i -- gap
[11] j
我希望一切都说得通,即使不问。预期会出现问题,您可能会注意到p
我的第二个示例中的字符出现在第二个子字符串中,但是出现在其行的开头,这是有意的,您必须遵循1-2-1-2-的顺序1-2,轮流从每个字符中取出一个字符,而不管其在输出中的位置。
测试用例
"fully open zipper", 7, 0 | "fully closed zipper", 0, 0
fullyope reppizn | fullyclos reppizde
|
f r *Note: i particularly like this | f
u e example as it shows the reversing | r
l p of the second half of the string | u
l p causes the words to wrap from top | e
y i left to the bottom and back up | l
o z the right side | p
p n | l
e | p
| y
| i
| c
| z
| l
| d
| o
| e
| s
- 第1栏:“在任何体面的卫衣上都不应该存在的愚蠢的不间断拉链”,24,0
- 第2列:“ Lorem ipsum dolor坐满了,奉献了上等的风。Mauris faucibus molestie mi。Aliquam nec fringilla ipsum”,15,5
:
s e | L m
t i | o u
u d | r s
p o | e p
i o | m i
d h | i a
l t | p l
y n | s l
l e | u i
o c | m g
n e | d n
g d | o i
u y | l r
n n | o f
b a | r c
r n | s
o o | e
k t | i
e s | n t
n i | m a
z x | a m
i e | u
p t | e
p n | q
e | t
d | i
r | ,
l | l c
t | A o
u | . n
h | i
o | s
a | m
h | e e
t | c i
s | t t
| e
| s
| t
| s
| u
| l
| r
| o
| a
| m
| d
| s
| i
| u
| p
| b i
| i s
| c c
| u
| i
| a
| n
| f
| g
| s
| e
| i
| l r
| i u
| t a
| .
| M
编辑:添加了测试用例
"abcde fgh ij klmnopqr","3","1"
a r
b q
c p
d
o
e
n f
m g
l h
k
i
j