งาน
ในความท้าทายนี้งานของคุณคือการวาดภาพตัวแทน ASCII ของกล่องหลายกล่องที่มีความสูงเพิ่มขึ้น คุณจะได้รับเป็นอินพุตจำนวนสแต็กซึ่งเป็นจำนวนเต็มบวก 2x2
สแต็คแรกมีกล่องหนึ่งที่มีขนาด สแต็คที่สองมี 2 3x3
กล่องขนาด โดยทั่วไปk
สแต็กที่สิบมีk
กล่องขนาด(k+1)x(k+1)
เส้นขอบของแต่ละกล่องถูกวาดโดยใช้ตัวอักษร-|+
และการตกแต่งภายในประกอบด้วยช่องว่าง กล่องที่อยู่ติดกันแบ่งปันเส้นขอบของพวกเขาและควรวาดมุมด้วยเสมอ+
แม้ว่าพวกเขาจะเป็นส่วนหนึ่งของเส้นขอบของกล่องอื่น
ตัวอย่าง
เอาท์พุทสำหรับ1
:
++
++
เอาท์พุทสำหรับ2
:
+-+
| |
+-+
++ |
++-+
เอาท์พุทสำหรับ3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
เอาท์พุทสำหรับ5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
กฎและเกณฑ์การให้คะแนน
อินพุตสามารถรับได้จาก STDIN เป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือเป็นอาร์กิวเมนต์ของฟังก์ชัน เอาต์พุตต้องไปที่ STDOUT หรือใกล้เคียงที่สุด อนุญาตให้ใช้ช่องว่างที่ จำกัด จำนวนใดก็ได้ตามที่มีมาก่อนและขึ้นบรรทัดใหม่ แต่ไม่สามารถเว้นวรรคก่อนหน้าเพิ่มเติมได้
นี่คือโค้ดกอล์ฟดังนั้นจำนวนไบต์ที่ต่ำที่สุดจึงชนะ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
Integer.MaxValue
เป็นอินพุต
Integer.MaxValue
หรือเทียบเท่า
n
และn-1
ค่อนข้างสำคัญ สอง pluses จะไม่ทับซ้อนกัน