Matthew thích giải câu đố. Bất cứ khi nào anh ta giải quyết được một, anh ta vui vẻ bỏ qua. Gần đây anh ấy thực sự cần phải làm điều này vì một trận mưa sao băng đã mở các miệng hố và lỗ hổng trên mặt đất mà anh ấy không muốn rơi xuống.
Bạn được ban cho một phần của phong cảnh mà Matthew muốn băng qua, hy vọng cuối cùng sẽ khỏe mạnh. Mặt đất được tính theo mét, với mỗi mét là mặt đất bình thường hoặc lỗ. Khi anh ta đang chạy, anh ta cố gắng vượt qua một mét mỗi bước; thay thế là nhảy qua bốn mét mỗi bước. Matthew bắt đầu ở phía xa bên trái trên đồng hồ mặt đất đầu tiên và muốn đến cái cuối cùng (mặc dù không vượt ra ngoài - chỉ cần tưởng tượng một lỗ hổng vô tận vượt ra khỏi mét cuối cùng được đưa ra trong cảnh quan).
Đầu vào
Đầu vào được đưa ra dưới dạng một dòng trên đầu vào tiêu chuẩn, được kết thúc bằng ngắt dòng. Dòng này bao gồm dấu gạch ngang ( -
) hoặc dấu gạch dưới ( _
), tương ứng với đồng hồ đo mặt đất hoặc lỗ. Một đầu vào mẫu có thể là:
----__--___---
Cảnh quan đã cho ít nhất là một và dài tối đa 30 mét và luôn bắt đầu bằng mặt đất.
Đầu ra
Đầu ra được đưa ra trên đầu ra tiêu chuẩn và đại diện cho một loạt các lệnh chuyển động cho Matthew, hoặc là run ( R
) hoặc jump ( J
). Như đã nói ở trên, một
lệnh chạy khiến Matthew chạy một mét trong khi nhảy đưa anh ta về phía trước chính xác bốn mét. Đối với ví dụ được đưa ra ở trên, chuyển động sau đây là có thể:
RRJRJRR
có vẻ như sau:
Nếu không có đường dẫn an toàn xuyên qua phong cảnh, thì !
nên in một dấu chấm than ( ).
Đầu vào mẫu
--------
----__--___---
-_______
-_-_-_-_-_-
-
Đầu ra mẫu
JRRR
RRJRJRR
!
!
(đầu ra cuối cùng trống vì không cần di chuyển, nhưng tôi đoán, Markdown không thể phân tích cú pháp này)
chú thích
Chỉ có một đường dẫn khả dĩ duy nhất là cần thiết, vì vậy đầu ra chương trình không phải tuân thủ chính xác với đầu ra mẫu. Miễn là một giải pháp được đưa ra nếu nó tồn tại và mọi lệnh di chuyển di chuyển xuống đất và đồng hồ cuối cùng đạt được cuối cùng, đầu ra là hợp lệ.
Đầu ra bổ sung về lỗi tiêu chuẩn được bỏ qua.
Điều kiện chiến thắng
Mã ngắn nhất sẽ thắng, như thông lệ trong golf. Trong trường hợp hòa, giải pháp trước đó thắng.
Các trường hợp thử nghiệm
Có hai tập lệnh kiểm tra, chứa các trường hợp kiểm thử giống hệt nhau:
- bash (Cảm ơn Ventero )
- PowerShell
Yêu cầu trong cả hai trường hợp : <test script> <my program> [arguments]
, ví dụ ./test ruby jumprun.rb
hoặc ./test.ps1 ./jumprun.exe
.
Một lưu ý khác
Nhiệm vụ này là một phần của cuộc thi golf được tổ chức tại trường đại học của tôi trong năm 2011-W24. Điểm số và ngôn ngữ của các thí sinh của chúng tôi như sau:
- 104 - Haskell
- 131 - Haskell
- 154 - C
- 170 - C
- 275 - VB.NET
- 286 - Lisp thông thường
Giải pháp của chúng tôi là
- 92 - Ruby
- 124 - PowerShell
./test.sh perl jump.pl
-./test.sh: line 42: syntax error near unexpected token 'done'
, trong bash 3.2.48