นี่คือ ASCII-art ของสี่แยกสี่ทาง:
| | |
| |
| | |
| |
| | |
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
| | |
| |
| | |
| |
| | |
(โปรดสังเกตว่าถนนในแนวนอนมีความสูง 3 แถวในขณะที่ถนนแนวตั้งมีความกว้าง 5 คอลัมน์เพื่อเหตุผลด้านสุนทรียภาพเนื่องจากตัวอักษรรูปสี่เหลี่ยมผืนผ้า)
ความท้าทายของคุณคือการผลิตงานศิลปะ ASCII นี้ อย่างไรก็ตามอย่างที่ฉันแน่ใจว่าทุกคนรู้ว่าไม่ใช่ทุก ๆ สี่แยกที่มีถนนที่เดินทางไปในทุกทิศทาง ทางแยกนี้ไปโดยเฉพาะNESW
แต่ทางแยกบางอย่างอาจไปเช่นNW
:
| | |
| |
| | |
| |
| | |
-----+-----+
| |
- - -| |
| |
-----+-----+
หรืออาจจะไปSWE
:
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
| | |
| |
| | |
| |
| | |
หรืออาจเป็นไปE
ได้เพียงทิศทางเดียว (แม้ว่าคุณจะไม่สามารถเรียกสิ่งนี้ได้ว่าเป็นจุดตัดแต่พยายามหลีกเลี่ยงการใช้ความรุนแรงมากเกินไป):
+-----+-----
| |
| |- - -
| |
+-----+-----
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่สามารถสร้างใด ๆของการรวมกันเหล่านี้ โดยเฉพาะอย่างยิ่งความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เส้นทางที่ประกอบด้วยเส้นทางNESW
เข้าและออกหรือส่งกลับศิลปะ ASCII นี้ของทางแยกที่มีถนนที่ชี้ไปในทิศทางเหล่านั้น เส้นทางเหล่านี้อาจปรากฏในลำดับใด ๆ แต่การป้อนข้อมูลจะไม่ได้มีตัวอักษรใด ๆ ยกเว้นN
, E
, หรือS
W
หากคุณต้องการคุณอาจขอให้อินพุตเป็นตัวพิมพ์เล็กแทน แต่คุณต้องระบุสิ่งนี้ในคำตอบของคุณ คุณอาจสมมติว่าอินพุตทั้งหมดจะมีทิศทางอย่างน้อยหนึ่งทิศทาง
ตัวอย่างสุดท้ายมีช่องว่างนำหน้าในแต่ละบรรทัดเนื่องจากไม่มีถนนที่ไปทางตะวันตก หากคุณไม่มีถนนที่ไปทางตะวันตกช่องว่างชั้นนำเหล่านี้เป็นทางเลือก นี้:
+-----+-----
| |
| |- - -
| |
+-----+-----
ก็จะเป็นผลลัพธ์ที่ยอมรับได้ ในทำนองเดียวกันถ้าN
หรือS
หายไปบรรทัดว่างในสถานที่นั้นเป็นตัวเลือก หนึ่งขึ้นบรรทัดใหม่ที่ได้รับอนุญาตและช่องว่างต่อท้ายได้รับอนุญาตตราบใดที่ส่งออกเป็นสายตาเดียวกัน
คุณสามารถรับอินพุตและเอาต์พุตในรูปแบบที่เหมาะสมเช่น STDIN / STDOUT, บรรทัดคำสั่ง, ไฟล์, อาร์กิวเมนต์ของฟังก์ชัน / ค่าส่งคืนเป็นต้น
ตามปกตินี่คือcode-golfดังนั้นพยายามหาคำตอบที่สั้นที่สุดในภาษาที่คุณใช้!
ตัวอย่าง IO:
NESW:
| | |
| |
| | |
| |
| | |
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
| | |
| |
| | |
| |
| | |
NS:
| | |
| |
| | |
| |
| | |
+-----+
| |
| |
| |
+-----+
| | |
| |
| | |
| |
| | |
S:
+-----+
| |
| |
| |
+-----+
| | |
| |
| | |
| |
| | |
EW:
-----+-----+-----
| |
- - -| |- - -
| |
-----+-----+-----
SE:
+-----+-----
| |
| |- - -
| |
+-----+-----
| | |
| |
| | |
| |
| | |
E
) อนุญาตN
หรือS
ไม่ใช้บรรทัดนำหน้าและต่อท้ายหากไม่มีหรือไม่