您是一家时尚的新杂货店Half Foods的员工,这是感恩节 圣诞节复活节的前一天。由于商店将挤满顾客争抢食物,因此商店需要交通管理人员将每个人都送到适当的生产线。懒惰,您想使它自动化,以便您可以在所有人都吃掉所有火鸡 火腿之前就去熟食店。但是,随身携带的只是手机,在手机上编写长程序确实是一件很痛苦的事-因此您需要淘汰忍者代码高尔夫技能。
挑战
让我们在二维网格上可视化杂货店。这是要剖析的示例网格:
e
s
s
s
Y
# # #s #
#s # #s #
#s # #s #
#s #s #s #
#3 #1 #4 #
x x x x
网格以开头e
,代表商店其余部分的“插座”。每一代,网格中的所有出口都在s
下面直接产生一个购物者()。购物者每一代都向下移动,直到他们到达您(Y
)。当购物者到达与您相同的行时,您必须将其传送到购物者最少的行的开头。购物者将与一起进入行时,立即移动到行中Y
,两者之间没有生成。这些行由#
s 表示-s之后的列#
是一行。购物者下到行尾(由exit表示x
),然后变成介于1
和之间的随机数5
。每一代,您都必须减少购物者的数量1
-当购物者到达时0
,他们已经完成结帐并离开商店。
给定这样的网格输入,输出下一代杂货店(同时将所有购物者放下,将购物者重定向,并在完成后让他们离开)。
样本
输入:
e
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
输出:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
输入:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
输出量
e
s
Y
#s # # #
# # # #
# # # #
# # # #
# # # #
x x x x
输入:
e
Y
# # # #
# # # #
# # # #
#s # # #
# # # #
x x x x
(可能)输出:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
输入:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
输出:
e
s
Y
# #s # #
# # # #
# # # #
# # # #
#2 # # #
x x x x
输入:
e
Y
# # # #
# # # #
# # # #
# # # #
#1 # # #
x x x x
输出:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
这是代码高尔夫球,因此最短的代码获胜。