Gần đây đã có một trận tuyết lớn và đường lái xe của tôi cần có tuyết. Nếu người thổi tuyết đi qua khu vực nào đó đã có tuyết, thì khu vực đó sẽ có tuyết thổi vào đó và cần phải thổi lại. Và tất nhiên, máy thổi tuyết không thể bắt đầu ở giữa đường lái xe, nó cần bắt đầu từ nhà để xe của tôi, nơi nó được cất giữ.
Chính thức hơn:
Chương trình của bạn có một dạng đầu vào tiêu chuẩn dưới dạng một chuỗi hoặc mảng đa chiều trông giống như sau:
XXXXOOOOXXXX
X X
X X
XXXXXXXXXXXX
X
đại diện cho một khu vực không thể có tuyết, O
đại diện cho khu vực có thể triển khai máy thổi tuyết và không gian trống đại diện cho các khu vực có tuyết. Bạn có thể chọn các giá trị khác nhau nếu bạn muốn.
Chương trình của bạn phải xuất ra một cái gì đó như sau:
XXXX*%OOXXXX
Xv<<<^<<<<<X
X>>>>>>>>>^X
XXXXXXXXXXXX
Máy thổi tuyết bắt đầu tại *
. Các *
luôn chỉ vào khoảng trắng không bị gara gần nhất. Các <
, >
, v
, và ^
tất cả các đại diện con trỏ về nơi hướng tiếp theo là. Họ chỉ người thổi tuyết đi đâu. Khi một con trỏ chỉ vào %
, quạt gió đã quay trở lại nhà để xe, và toàn bộ đường lái xe phải rõ ràng.
Máy thổi tuyết phải đi trên toàn bộ đường lái xe. Con đường của người tuyết không bao giờ có thể chồng lên nhau. Đầu vào bất khả thi không được đưa ra.
Bởi vì tôi không muốn ở bên ngoài lâu hơn tôi cần và không cần phải dành nhiều thời gian để gõ, chương trình nên càng ngắn càng tốt. Mã ngắn nhất sẽ thắng!
Các trường hợp thử nghiệm:
Những trường hợp thử nghiệm có thể có nhiều câu trả lời đúng. Tôi đã cung cấp các giải pháp có thể bên dưới mỗi trường hợp thử nghiệm.
Trường hợp kiểm tra 1: Một trong những ví dụ được đưa ra.
Trường hợp thử nghiệm 2:
XOOOOOX
X X
X X
X XXXXXXXX
X X
X X
XXXXXXXXXXXXXX
X*OOO%X
Xv>>>^X
Xv^<<<X
Xv>>>^XXXXXXXX
Xv^<<<<<<<<<<X
X>>>>>>>>>>>^X
XXXXXXXXXXXXXX
Trường hợp thử nghiệm 3:
XOOOOX
X X
X X
X XXX
X X
X X
XXXXXX
XOO%*X
X>>^vX
X^v<<X
X^vXXX
X^>>vX
X^<<<X
XXXXXX
Trường hợp thử nghiệm 4:
XXXXXXXXXXXXX
O X
O X X
O X X
O X
XXXXXXXXXXXXX
XXXXXXXXXXXXX
*>>>>>>>>>>vX
Ov<v<Xv<<<<<X
Ov^v^X>>>>>vX
%<^<^<<<<<<<X
XXXXXXXXXXXXX
O
'sẽ luôn nằm trong một đường thẳng liên tục không? 2) O
s sẽ luôn nằm trên cạnh của mảng? 3) rằng sẽ không có không gian hàng đầu? 4) rằng sẽ không có dấu cách (ví dụ trong trường hợp thử nghiệm 2 một số dòng ngắn hơn các dòng khác)?