แมทธิวชอบไขปริศนา เมื่อใดก็ตามที่เขาจัดการเพื่อแก้ปัญหาหนึ่งเขาข้ามไปรอบ ๆ อย่างมีความสุข เมื่อเร็ว ๆ นี้เขาต้องการทำเช่นนี้เนื่องจากฝนดาวตกได้เปิดหลุมอุกกาบาตและพื้นดินซึ่งเขาไม่อยากตก
คุณจะได้รับส่วนหนึ่งของภูมิประเทศที่แมทธิวต้องการข้ามหวังว่าจะได้สุขภาพที่ดีในตอนท้าย พื้นดินมีหน่วยเป็นเมตรโดยแต่ละเมตรจะเป็นพื้นดินปกติหรือเป็นหลุม เมื่อเขาวิ่งเขาจะข้ามหนึ่งเมตรต่อหนึ่งก้าว; ทางเลือกคือการกระโดดซึ่งข้ามสี่เมตรต่อขั้นตอน แมทธิวเริ่มต้นที่ด้านซ้ายสุดของมาตรกราวด์แรกและต้องการไปยังจุดสุดท้าย (แต่ไม่เกิน - ลองจินตนาการถึงหลุมที่ไม่มีที่สิ้นสุดเกินกว่ามาตรวัดสุดท้ายที่กำหนดในแนวนอน)
อินพุต
อินพุตถูกกำหนดเป็นบรรทัดเดียวบนอินพุตมาตรฐานสิ้นสุดโดยตัวแบ่งบรรทัด เส้นประกอบด้วยขีดกลาง ( -
) หรือขีดล่าง ( _
) แทนเส้นมิเตอร์หรือรูเมตรตามลำดับ ตัวอย่างอินพุตอาจเป็น:
----__--___---
ภูมิทัศน์ที่กำหนดมีอย่างน้อยหนึ่งตัวและที่ความยาวไม่เกิน 30 เมตรและเริ่มต้นด้วยพื้นดินเสมอ
เอาท์พุต
เอาต์พุตถูกกำหนดบนเอาต์พุตมาตรฐานและแสดงชุดของคำสั่งการเคลื่อนไหวให้กับ Matthew ทั้งrun ( R
) หรือjump ( J
) ตามที่ระบุไว้ข้างต้น
คำสั่งเรียกใช้ทำให้แมทธิววิ่งหนึ่งเมตรในขณะที่กระโดดพาเขาไปข้างหน้าสี่เมตร สำหรับตัวอย่างที่ให้ไว้ข้างต้นการเคลื่อนไหวต่อไปนี้เป็นไปได้:
RRJRJRR
ซึ่งมีลักษณะโดยประมาณดังนี้:
หากไม่มีเส้นทางที่ปลอดภัยผ่านภูมิทัศน์เครื่องหมายอัศเจรีย์ ( !
) ควรจะพิมพ์ออกมา
อินพุตตัวอย่าง
--------
----__--___---
-_______
-_-_-_-_-_-
-
ตัวอย่างผลลัพธ์
JRRR
RRJRJRR
!
!
(เอาต์พุตสุดท้ายว่างเปล่าเนื่องจากไม่จำเป็นต้องเคลื่อนย้าย แต่ฉันเดาว่า Markdown ไม่สามารถแยกวิเคราะห์ได้)
บันทึก
จำเป็นต้องใช้พา ธ เดียวที่เป็นไปได้เท่านั้นดังนั้นผลลัพธ์ของโปรแกรมไม่จำเป็นต้องสอดคล้องกับเอาต์พุตตัวอย่าง ตราบใดที่มีการแก้ปัญหาหากมันมีอยู่และทุกคำสั่งการเคลื่อนไหวจะเคลื่อนที่ไปที่กราวด์และถึงมิเตอร์สุดท้ายในที่สุดผลลัพธ์ก็จะถูกต้อง
เอาต์พุตเพิ่มเติมเกี่ยวกับข้อผิดพลาดมาตรฐานจะถูกละเว้น
สภาพการชนะ
รหัสที่สั้นที่สุดชนะเช่นเดียวกับในกอล์ฟ ในกรณีที่เสมอกันการแก้ปัญหาก่อนหน้านี้ชนะ
กรณีทดสอบ
มีสองสคริปต์ทดสอบที่มีกรณีทดสอบเหมือนกัน:
- ทุบตี (ขอบคุณVentero )
- PowerShell
ภาวนาอยู่ในทั้งสองกรณี: <test script> <my program> [arguments]
เช่นหรือ./test ruby jumprun.rb
./test.ps1 ./jumprun.exe
หมายเหตุอื่น
งานนี้เป็นส่วนหนึ่งของการแข่งขันกอล์ฟที่จัดขึ้นที่มหาวิทยาลัยของฉันในช่วงปี 2011-W24 คะแนนและภาษาของผู้แข่งขันของเรามีดังนี้:
- 104 - Haskell
- 131 - Haskell
- 154 - C
- 170 - C
- 275 - VB.NET
- 286 - เสียงกระเพื่อมสามัญ
ทางออกของเราเองคือ
- 92 - ทับทิม
- 124 - PowerShell
./test.sh perl jump.pl
-./test.sh: line 42: syntax error near unexpected token 'done'
ภายใต้การทุบตี 3.2.48