Một bãi cỏ được định nghĩa là một trường hình chữ nhật với một ký tự được bao quanh bởi hai lớp khoảng trắng có thể nhìn thấy . Điều này có nghĩa là hai dòng trên và twos bên dưới và hai phần đệm ở bên trái (bên phải có khoảng trắng có thể nhìn thấy, vì vậy bạn không cần phải bao gồm nó).
|||||
|||||
|||||
Một bãi cỏ bị cắt xén là một cấu trúc tương tự, ngoại trừ nhân vật chính là phiên bản rút gọn của nhân vật đầu tiên.
.....
.....
.....
Một máy cắt là hai nhân vật khác nhau, khác với hai nhân vật bãi cỏ. Dưới đây là một ví dụ, với =
mặt sau của máy cắt và o
mặt trước:
=o
Một máy cắt sẽ di chuyển xung quanh bãi cỏ theo chiều dọc, và cũng có thể xoay ở mặt trước của nó. Máy cắt ở trên có thể trông giống như bất kỳ cái nào dưới đây trong một số điểm trong hình ảnh động:
=o
o=
o
=
=
o
Máy cắt có thể bắt đầu trên bất kỳ tập hợp các vị trí dưới đây trên bãi cỏ bên dưới. Máy cắt cỏ o
sẽ lái xe quanh bãi cỏ theo chiều kim đồng hồ. Máy cắt cỏ 0
sẽ lái xe quanh bãi cỏ ngược chiều kim đồng hồ.
= =
0 o
=o|||||0=
|||||
=0|||||o=
o 0
= =
Hoạt hình bắt đầu ở giây thứ 0. Mỗi giây, máy cắt di chuyển về phía trước một khoảng trống và cắt cỏ ở mặt trước của nó. Khi máy cắt bỏ một chỗ, nó xuất hiện cắt. Khi mặt trước của máy cắt đạt đến vật phẩm chưa cắt cuối cùng trên một đường (và vẫn còn cỏ chưa cắt), mặt sau của máy cắt sẽ quay một lần để tiếp tục cắt cỏ hiện tại (giữ theo chiều kim đồng hồ / ngược chiều kim đồng hồ dựa trên vị trí ban đầu) Khi máy cắt kết thúc, nó tiếp tục đi thẳng (cắt cỏ đã cắt cỏ) cho đến khi nó hoàn toàn rời khỏi bãi cỏ.
Với một máy cắt bắt đầu ở phía trên bên trái, điều này cho thấy sự tiến triển cơ bản cho một bãi cỏ 5x3:
Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second 9 Second 10 Second 11 Second 12 Second 13 Second 14 Second 15 Second 16 Second 17 Second 18 Second 19 Second 20 Second 21 Second 22
=
=o||||| =o|||| =o||| .=o|| ..=o| ...=o ....o ....= ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||o ||||= ||||. ||||. ||||. ||||. ||||. ||||. o|||. =o|||. =o||. .=o|. ..=o. ...=o ....=o .....=o
||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||o ||||o= |||o= ||o=. |o=.. o=... o.... =.... ..... ..... ..... ..... ..... ..... .....
=
Đầu vào
Đầu vào của bạn sẽ là kích thước của bãi cỏ (hai số nguyên).
Đầu ra
In bãi cỏ và máy cắt ở vị trí bạn đã chọn. Bạn có thể chọn bốn ký tự cho cỏ, cắt cỏ, cắt trước và cắt lại. Bạn chỉ cần đủ khoảng trắng để hiển thị nội dung của giây hiện tại cho thông số kỹ thuật, nhưng khoảng trắng bổ sung hoàn toàn được phép, miễn là nó trông giống nhau.
Vì đây là hình ảnh động , bạn có thể xóa đầu ra mỗi giây hoặc in đủ dòng mới để xuất hiện động trong khung xem (bạn có thể giả sử khung xem là kích thước cần thiết để xuất hiện để tạo hiệu ứng).
Một khoảng thời gian nhất quán khác với một giây được cho phép (ví dụ 999 mili giây để tiết kiệm một byte hoặc hai giây vì một lý do nào đó), nhưng nó phải như vậy mà máy cắt cỏ vẫn có vẻ di chuyển tự nhiên.
Nếu có thể, hãy cung cấp một hình ảnh (TIO, Đoạn trích, GIF, v.v.)
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.