หรืออาจจะไม่ใช่เขาวงกตจริงๆ แต่ก็ยังอยู่
กฎ:
การป้อนข้อมูลเป็นสตริงสองบรรทัดประกอบด้วย
*
,1
, และx
X
สายนั้นเป็นเขาวงกตที่จะเดินผ่าน เส้นมีความยาวเท่ากันคุณสามารถรับอินพุตเป็นสตริงที่มี
,
(เครื่องหมายจุลภาค) หรือตัวคั่นใด ๆ ที่สะดวกระหว่างสองบรรทัดนี้ หรือคุณอาจใช้ทั้งสองบรรทัดเป็นอาร์กิวเมนต์แยกกันในการทำงานของคุณเอาต์พุตคือจำนวนขั้นตอนที่คุณต้องดำเนินการเพื่อออกจากสายอักขระ (ขั้นตอนสุดท้ายคือขั้นตอนที่จะย้ายคุณออกจากสายอักขระ)
คุณเริ่มต้นที่มุมซ้ายบน (บรรทัดที่สูงกว่า) หน้าสัญลักษณ์แรก
สำหรับแต่ละขั้นตอนคุณก้าวไปข้างหน้าโดยหนึ่งในสัญลักษณ์ (จากที่ n จะ (n + 1) TH ตำแหน่ง ) จากนั้นขึ้นอยู่กับตัวละครที่คุณก้าวเข้ามาผลลัพธ์จะแตกต่างกัน นี่คือสิ่งที่แต่ละถ่านทำ:
*
- ไม่มีอะไร คุณเพียงแค่เหยียบมันตามปกติx
- เมื่อคุณเหยียบมันแล้วให้สลับสาย แต่ยังคงอยู่ในระยะทางแนวนอนเดียวกันจากจุดเริ่มต้น ตัวอย่างเช่นคุณก้าวไปสู่ตำแหน่งที่สามของบรรทัดที่สูงกว่าและพบตัวพิมพ์เล็กx
ที่นี่ จากนั้นคุณย้ายไปที่บรรทัดล่างทันที แต่อีกครั้งที่ตำแหน่งที่สามX
- สลับสายและไปที่ตำแหน่งถัดไป ตัวอย่างมีเหมือนกัน แต่คุณย้ายจากตำแหน่งที่สามไปยังตำแหน่งที่สี่ (ดังนั้นคุณจึงอยู่ในบรรทัดที่สองที่ตำแหน่งที่สี่)1
- เพียงแค่เดินหน้าต่อไปโดยตำแหน่งอื่น
เมื่อตัวละครแต่ละตัวทำงานแล้วมันจะถูกแทนที่ด้วยช่องว่างและไม่สามารถใช้งานได้อีกต่อไป
ตัวอย่างดังต่อไปนี้
อินพุต :
x *
ดังที่ได้กล่าวไว้ก่อนหน้านี้คุณจะเริ่มก่อนสัญลักษณ์แรกของบรรทัดแรก ขั้นตอนแรกจะเลื่อนคุณเป็นตัวอักษร
x
และตัวอักษรนี้จะเปลี่ยนคุณเป็นบรรทัดที่สอง จดหมายx
ไม่มีฟังก์ชั่นไม่เป็นแต่แทนที่ด้วยx
*
สิ่งนี้จะมีความเกี่ยวข้องมากขึ้นในตัวอย่างหลัง ตอนนี้คุณอยู่ในเครื่องหมายดอกจันที่บรรทัดล่างและคุณไม่ได้ทำอะไรเลยขั้นตอนที่สองคือการย้ายคุณไปข้างหน้าและคุณออกจากสายเพื่อให้เขาวงกตเสร็จสมบูรณ์และใช้เวลา 2 ขั้นตอน
เอาท์พุต
2
เอาท์พุตอินพุต :
xX* x1*
ขั้นตอนที่ 1 : คุณเดินหน้าต่อ
x
ไปx
บรรทัดล่าง นี่คือกฎที่บอกว่าตัวละครที่ใช้ถูกแทนที่ด้วยเครื่องหมายดอกจัน จากนั้นคุณย้ายกลับไปที่บรรทัดแรก แต่ไม่ได้x
อยู่ที่นั่นอีกต่อไปเนื่องจากมีการใช้และกลายเป็นเครื่องหมายดอกจัน ดังนั้นคุณจะย้ายไปอย่างปลอดภัยบนเครื่องหมายดอกจันนี้และขั้นตอนก็เสร็จสมบูรณ์ (ตอนนี้คุณอยู่ในตำแหน่งแรกของบรรทัดแรก)ขั้นตอนที่ 2 : คุณก้าวต่อไป
X
มันจะผลักคุณไปยังบรรทัดล่างแล้วผลักคุณไปข้างหน้า ตอนนี้คุณอยู่ในตำแหน่งที่สามของบรรทัดที่สอง (เครื่องหมายดอกจัน) โดยที่ไม่เคยไปที่ตำแหน่งที่สอง (ซึ่งมี1
)ขั้นตอนที่ 3 : คุณก้าวไปข้างหน้าออกจากสตริง
ผลลัพธ์ :
3
.
กรณีทดสอบ:
การป้อนข้อมูล:
*1* xxx
ผลลัพธ์:
3
. (เพราะ1
ทำให้คุณกระโดดขึ้นอันดับที่สาม) คุณไม่เคยไปที่บรรทัดที่สอง แต่เป็นส่วนหนึ่งของอินพุตการป้อนข้อมูล:
*X*1*x x*1xx*
ผลลัพธ์:
4
.การป้อนข้อมูล:
1x1x ***X
ผลลัพธ์:
3
.การป้อนข้อมูล:
1*x1xxx1*x x*x1*11X1x
ผลลัพธ์:
6
.การป้อนข้อมูล:
xXXXxxx111* **xxx11*xxx
ผลลัพธ์:
6
.
"\n\n"
เป็นสตริงสายสอง ...
1
เป็นในขณะที่คุณเริ่มก่อนบรรทัดที่ 1 จากนั้นคุณก้าวไปข้างหน้าหนึ่งก้าวแล้วคุณก็จบเขาวงกต ...