Sandbox
สำหรับวัตถุประสงค์ของงานปัจจุบันคิวบ์ความยาวของหน่วยจะแสดงในรูปแบบเอียงด้วยสัญลักษณ์ ASCII ดังต่อไปนี้:
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
+
สำหรับจุดยอด-
สำหรับขอบ X ความยาวหน่วยตามแนว X แสดงด้วยห้า-
ระหว่างสองจุดยอด|
สำหรับขอบ Y ความยาวของหน่วยตาม Y จะถูกแทนด้วยสอง|
ระหว่างจุดยอดสองจุด/
สำหรับขอบ Z ความยาวหน่วยตามแนว Z จะถูกแทนด้วยหนึ่ง/
ระหว่างสองจุดยอด- จุดยอดจะวาดเฉพาะเมื่อระนาบทั้งสามตัดกัน
- ขอบจะวาดเฉพาะเมื่อระนาบสองจุดตัดกัน
เมื่อหน้าหน่วยถูกอัดออกมาใบหน้าจะถูกชดเชยด้วยความยาวหน่วยจากตำแหน่งเดิมและสร้างขอบใหม่สี่อันสำหรับแต่ละทิศทาง (บวกและลบ)
คุณสามารถนึกถึงการอัดขึ้นรูปเมื่อวาดแกนของระบบพิกัดคาร์ทีเซียน 3D ที่แต่ละแกนถูกแสดงเป็นลูกบาศก์ที่มีส่วนตัดขวาง 1x1 และความยาวn
ห่างจาก (0,0,0)
อัดโดย 1 ตาม X:
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
งาน
กำหนดตัวเลขสามตัวสำหรับแกน XYZ ขับไล่ใบหน้าของคิวบ์หน่วยสมมาตรตามจำนวนที่ระบุและแสดงผลลัพธ์ด้วยสัญลักษณ์ ASCII ตามที่ระบุข้างต้น
อินพุต
x, y, z - ตัวเลขที่ไม่เป็นลบ - ความยาวไหลออกมาสำหรับแกนตามลำดับ 0 หมายถึงไม่มีการอัดขึ้นรูป อินพุตสามารถเป็นตัวเลขสามตัวรายการของตัวเลขสามตัวสามตัวสตริงหรืออะไรก็ได้ที่คุณสะดวก
เอาท์พุต
การวาด ASCII ของคิวบ์หลังจากการอัดขึ้นรูป อนุญาตให้นำหน้าและต่อท้ายได้
กรณีทดสอบ
X Y Z
0 0 0
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
1 0 0
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
0 0 1
+-----+
/ /|
/ / |
/ / +
/ / /
/ / /
+-----+ /
| | /
| |/
+-----+
1 1 0
+-----+
/ /|
+-----+ |
+---| | +-----+
/ | |/ /|
+-----+ +-----+ |
| | +
| |/
+-----+ +-----+
| | +
| |/
+-----+
2 0 1
+-----+
/ /|
+-----------+ +-----------+
/ /|
+-----------+ +-----------+ |
| / /| | +
| +-----+ | |/
+---------| | +-----------+
| |/
+-----+
1 1 1
+-----+
/ /|-+
+-----+ |/|
+---| | +-----+
/ | |/ /|
+-----+-----+-----+ |
| / /| | +
| +-----+ | |/
+---| | +-----+
| |/| +
+-----+ |/
+-----+
เกณฑ์การชนะ
ทางออกที่สั้นที่สุดเป็นไบต์ในทุก ๆ ภาษาชนะ โปรดเพิ่มคำอธิบายสั้น ๆ เกี่ยวกับวิธีการที่ใช้และรหัสของคุณ