สร้างโปรแกรมที่กำหนดได้รับการป้อนข้อมูลของเส้นทางไม่ว่าจะเป็นมาริโอสามารถถึงจุดสิ้นสุดที่แสดงโดยจากการเริ่มต้นที่แสดงโดยE
S
เส้นทางจะมีลักษณะดังนี้:
S = E
=====
ในเส้นทางสัญลักษณ์ต่าง ๆ และสิ่งที่เป็นตัวแทนคือ:
=
: ผนัง / พื้น / เพดาน มาริโอไม่สามารถเดินทะลุกำแพงและไม่สามารถล้มลงบนพื้นหรือกระโดดข้ามเพดาน (เขาจะตีหัว)S
: อากาศยกเว้นการแสดงตำแหน่งที่มาริโอเริ่ม สิ่งนี้จะปรากฏในคอลัมน์ซ้ายสุดของอินพุตที่ระดับพื้นดินE
: อากาศยกเว้นแสดงตำแหน่งที่มาริโอต้องการรับ สิ่งนี้จะปรากฏในคอลัมน์ขวาสุดของอินพุตที่ระดับพื้นดิน
อินพุตจะมีช่องว่างในทุกที่ที่มาริโอสามารถเดินได้
มาริโอสามารถก้าวไปข้างหน้าเท่านั้น ในตัวอย่างนี้มาริโอไม่สามารถไปถึงเป้าหมายได้
S
===
===
E
====
และเขาไม่สามารถอยู่ในนี้
E
==
==
#==
==
==
==
S ==
======
อย่างไรก็ตามเขาสามารถเข้าถึงพื้นที่ที่แสดงด้วย#
(ซึ่งจะไม่ปรากฏในอินพุต) เนื่องจากเขาสามารถกระโดดได้สูงถึงสี่เซลล์สูง มาริโอเป็นมนุษย์ธรรมดา เป็นอีกตัวอย่างหนึ่งของความเหนือมนุษย์ของเขา:
S
=
=
=
=
=
= #
= =
=
=
=
= E
=======
มาริโอจะได้รับไปโดยลดลงระยะทางที่ดีที่รอดตายและเดินอย่างใจเย็นไปE
E
โปรดทราบว่าเขาไม่สามารถเข้าถึงได้#
เพราะมาริโอตกลงไป
มาริโอสามารถกระโดดจริงๆสูง แต่ไม่ไกลมากไปข้างหน้าโดยการเปรียบเทียบ
S E
== ==
= =
มาริโออาจพยายามกระโดดข้ามช่องว่าง แต่เขาจะล้มเหลวและตกลงไปเขาไม่สามารถไปให้ถึงจุดจบได้
มาริโอสามารถบรรลุเป้าหมายในตัวอย่างเหล่านี้ทั้งหมด:
E
=
=
=
S=
==
=
= E
S= =
== =
= =
=====
S
=
= E
====
นี่คือรหัสกอล์ฟดังนั้นจำนวนน้อยที่สุดที่จะชนะ!
#
แต่ถ้าคุณมองอย่างใกล้ชิดคุณสามารถดูมีคอลัมน์ของพื้นที่ก่อนคอลัมน์ที่มีอีก สำหรับคำถามที่สอง: ฉันไม่ได้เป็น OP แต่ฉันเดาว่าคุณพูดถูก (นั่นคือสิ่งที่ฉันคิดในการแก้ปัญหาของฉัน)
E
จะไม่ปรากฏในคอลัมน์ขวาสุดเนื่องจากระดับพื้นดินขยายไปทางขวาหนึ่งส่วนจากส่วนที่เหลือของแผนที่
Mario cannot walk through wall , and cannot fall past a floor, or jump past a ceiling
#
เพราะมาริโอตกลงไป" ถ้าฉันดูนี้อย่างถูกต้องจะไม่เขาล้มลงตรงไปยัง#
? นอกจากนี้ยังมีการข้ามที่กำหนดเป็นสูงสุด 4 ช่องว่างและสูงสุด 1 ช่องว่างใช่ไหม