ลองนึกภาพไดอะแกรมต่อไปนี้เป็นชุดของหลอดไขว้ขวางแนวตั้ง
1 2 1 2 1 2 3 4
\ / \ / \ / \ /
X | | |
/ \ / \ / \ / \
2 1 1 2 | X |
\ / \ /
X X
/ \ / \
3 1 4 2
ในแผนภาพด้านซ้ายสุด1
และ2
เลื่อนเครื่องหมายทับตามลำดับข้ามไปที่X
และออกมาทางด้านตรงข้ามจากจุดเริ่มต้น
มันเป็นความคิดเดียวกันในแผนภาพกลาง แต่|
หมายถึงว่าเส้นทางไม่ข้ามดังนั้นจึงไม่มีอะไรเปลี่ยนแปลง
แสดงให้เห็นแผนภาพขวาสุดหลอดที่ซับซ้อนมากขึ้นเส้นทาง permutes ที่เข้ามา1 2 3 4
3 1 4 2
เป้าหมาย
เป้าหมายของคุณในความท้าทายรหัสกอล์ฟคือการวาดเหล่านี้ "แผนภาพเส้นทางหลอด" 3 1 4 2
ที่ได้รับการเปลี่ยนแปลงเช่น โปรแกรมที่สั้นที่สุดในหน่วยไบต์จะเป็นผู้ชนะ
รายละเอียด
- อินพุตมาจาก stdin เป็นการเปลี่ยนแปลงของตัวเลขจาก 1 ถึงnคั่นด้วยช่องว่างโดยที่nคือจำนวนเต็มบวก คุณอาจสมมติว่าอินพุตทั้งหมดมีรูปแบบที่ดี
เอาต์พุตไดอะแกรมการเราต์ไปที่ stdout
- "วาง" ตัวเลขที่ 1 ถึงnตามลำดับลงในด้านบนของแผนภาพควรส่งผลให้การเปลี่ยนแปลงการป้อนข้อมูลออกมาที่ด้านล่าง (ด้านบนและด้านล่างเป็นเลเยอร์ของสแลชเสมอ)
- แผนภาพไม่จำเป็นต้องมีขนาดเล็กที่สุด อาจมีหลายระดับตามความจำเป็นตราบเท่าที่ถูกต้อง
- แผนภาพควรมีอักขระ
\/ X|
และบรรทัดใหม่เท่านั้น (ไม่มีตัวเลข) |
ควรใช้กับจุดตัดด้านนอกสุดเสมอเนื่องจากการใช้X
ไม่สมเหตุสมผล- ช่องว่างนำหน้าหรือต่อท้ายเล็กน้อยนั้นใช้ได้ตราบใดที่ไดอะแกรมนั้นเรียงกันอย่างถูกต้อง
ตัวอย่าง
An input of 3 1 4 2
might produce (same as above)
\ / \ /
| |
/ \ / \
| X |
\ / \ /
X X
/ \ / \
อินพุตของ1
อาจผลิต
\
|
/
|
\
|
/
อินพุตของ3 2 1
อาจผลิต
\ / \
X |
/ \ /
| X
\ / \
X |
/ \ /
อินพุตของ2 1 3 4 6 5
อาจผลิต
\ / \ / \ /
X | X
/ \ / \ / \
X
เชื่อมต่อโดยตรงกับ|
วิธีที่/
ทำได้หรือไม่? ไปยังอีกX
?
row of slashes
, row of X's and |'s
, row of slashes
, row of X's and |'s
... รูปแบบ
n
มากกว่า 10 ได้หรือไม่