Bạn là một nhân viên tại cửa hàng tạp hóa mới Half Food, và đó là một ngày trước Lễ Tạ ơn Giáng sinh Phục sinh. Vì cửa hàng sẽ chật cứng khách hàng đổ xô đi lấy thực phẩm, nên cửa hàng cần một người quản lý giao thông để gửi mọi người đến các hàng thích hợp. Lười biếng, bạn muốn tự động hóa này để bạn có thể đi nhấn deli trước khi tất cả mọi người có tất cả các gà tây ham bất cứ điều gì. Tuy nhiên, tất cả những gì bạn có với bạn là điện thoại của bạn, và mã hóa các chương trình dài trên đó là một nỗi đau thực sự - vì vậy bạn cần phải vượt qua các kỹ năng chơi golf mã ninja của mình.
Thử thách
Hãy hình dung cửa hàng tạp hóa trên lưới hai chiều. Đây là một lưới mẫu để phân tích:
e
s
s
s
Y
# # #s #
#s # #s #
#s # #s #
#s #s #s #
#3 #1 #4 #
x x x x
Lưới bắt đầu với một e
, đại diện cho một "cửa hàng" cho phần còn lại của cửa hàng. Mỗi thế hệ, tất cả các cửa hàng trong lưới đều sinh ra một người mua sắm ( s
) ngay bên dưới. Người mua hàng di chuyển xuống dưới mỗi thế hệ cho đến khi họ tiếp cận với bạn ( Y
). Khi một người mua hàng đến cùng hàng với bạn, bạn phải dịch chuyển người mua hàng đến đầu hàng với số lượng người mua sắm ít nhất trong đó. Một người mua sắm ngay lập tức di chuyển đến hàng khi họ sẽ di chuyển vào hàng với Y
, không có thế hệ ở giữa. Các dòng được biểu thị bằng #
s - cột sau #
s là một dòng. Người mua hàng đi xuống cuối dòng (được biểu thị bằng một lối ra x
), sau đó biến thành một số ngẫu nhiên giữa 1
và5
. Mỗi thế hệ, bạn phải giảm số người mua hàng được đánh số bởi 1
- khi một người mua hàng tiếp cận 0
, họ đã hoàn tất việc kiểm tra và họ rời khỏi cửa hàng.
Đưa ra một đầu vào của lưới như thế này, tạo ra thế hệ tiếp theo của cửa hàng tạp hóa (đồng thời di chuyển tất cả người mua hàng xuống, chuyển hướng người mua hàng và để họ rời đi nếu họ hoàn thành).
Mẫu
Đầu vào:
e
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Đầu ra:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Đầu vào:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Đầu ra
e
s
Y
#s # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Đầu vào:
e
Y
# # # #
# # # #
# # # #
#s # # #
# # # #
x x x x
(Có thể) Đầu ra:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
Đầu vào:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
Đầu ra:
e
s
Y
# #s # #
# # # #
# # # #
# # # #
#2 # # #
x x x x
Đầu vào:
e
Y
# # # #
# # # #
# # # #
# # # #
#1 # # #
x x x x
Đầu ra:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Đây là mã golf , vì vậy mã ngắn nhất sẽ thắng.