บทนำ
"Yarr !! เรามีแลดดี้ที่เรียกตัวเองว่า" โปรแกรมเมอร์ "ทำแผนที่ t 'สมบัติที่ซ่อนเร้นของเรา! แต่' tis เขียนด้วยตัวอักษร n 'ตัวเลขแปลก'!" E5, N2, E3 "... มันคืออะไร หมายความว่าอะไร Madness! ไม่สามารถเขียนแผนที่ขุมทรัพย์ที่เหมาะสมได้ด้วย 'cretin ที่ไร้ประโยชน์จงแก้ไขมันเถิดพวกเรา! เราจะมอบสมบัติส่วนแบ่งให้คุณ!
คำอธิบายการท้าทาย
กลุ่มโจรสลัดกำลังประสบปัญหาในการอ่านแผนที่ขุมทรัพย์ คุณสามารถเขียนโปรแกรมเพื่อแปลงเป็นรูปแบบโจรสลัด ...
ในฐานะที่เป็นอินพุทคุณจะได้รับแผนที่ขุมทรัพย์ดั้งเดิม มันคือรายการของสตริงที่คั่นด้วยเครื่องหมายจุลภาคแต่ละสตริงซึ่งประกอบด้วยส่วนของตัวอักษร (ซึ่งบอกโจรสลัดว่าต้องใช้ทิศทางใดในการเดิน) และส่วนของตัวเลข (ซึ่งบอกให้พวกโจรสลัดรู้ว่ามีกี่ก้าวในทิศทางนั้น) ตัวอย่างเช่นแผนที่ขุมทรัพย์ต่อไปนี้:
E2,N4,E5,S2,W1,S3
จะหมายถึง "เดินสองก้าวไปทางทิศตะวันออกเดินสี่ก้าวไปทางทิศเหนือเดินห้าก้าวไปทางทิศตะวันออกเดินสองก้าวไปทางทิศใต้เดินหนึ่งก้าวไปทางทิศตะวันตกแล้วก้าวเดินไปทางทิศใต้สามก้าว"
ขณะที่การส่งออกคุณจะเอาท์พุทแผนที่ในรูปแบบกราฟิกโดยใช้ตัวละคร>
, ^
, v
และ<
เป็นตัวชี้ นี่คือผลลัพธ์สำหรับอินพุตด้านบน:
>>>>>v
^ v
^ v<
^ v
>>^ X
โปรดสังเกตว่าเราได้แทนที่ขั้นตอนสุดท้ายไปทางทิศใต้ด้วยวิธีX
แทน นี่เป็นเพราะขั้นตอนสุดท้ายคือที่ที่ขุมทรัพย์และอย่างที่เรารู้โจรสลัดต้องมี X ในแผนที่ขุมทรัพย์มิฉะนั้นพวกเขาจะไม่รู้วิธีการอ่าน
อย่างไรก็ตามแผนที่จะไม่ตัดกันดังนั้นคุณไม่จำเป็นต้องกังวลเกี่ยวกับการทับซ้อน นอกจากนี้คุณยังได้รับอนุญาตให้มีการขึ้นบรรทัดใหม่ที่ส่วนท้ายของเอาต์พุต
ตัวอย่างอินพุตและเอาต์พุต
S5,W2
v
v
v
v
v
X<
N1,E1,S1,E1,N1,E1,S2
>v>v
^>^X
N1
X
N6,E6,S6,W5,N5,E4,S4,W3,N3,E2,S2,W1,N2
>>>>>>v
^>>>>vv
^^>>vvv
^^^Xvvv
^^^^<vv
^^^<<<v
^^<<<<<
E21,S2
>>>>>>>>>>>>>>>>>>>>>v
X
N12,E11,S12,W2,N4
>>>>>>>>>>>v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ X v
^ ^ v
^ ^ v
^ ^<<
X
ควรทำเครื่องหมายขั้นตอนหลังจากการย้ายครั้งสุดท้ายเช่นการเคลื่อนไหวอื่น ๆ จะถูกนับ ลองนึกภาพขั้นตอนสุดท้ายคือ N3: คุณเดินสามก้าวไปทางทิศเหนือและขุด แต่ไม่มีอะไรที่นี่คุณต้องเดิน 2 ก้าวแทน ฉันไม่คิดว่าคุณจะรักษากฎที่มีอยู่เพราะมันเพิ่มกรณีมุมเล็ก ๆ ที่จะจัดการ แต่จำสิ่งที่เกิดขึ้นกับหนุ่มที่