ดูแผนภาพศิลปะ ascii นี้ของกล่องต่างๆ:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | | |
| | +----------------+ | | | |
| | | | | +-------+ |
| | | | | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
แต่ละกล่องประกอบด้วยตัวไพพ์สำหรับชิ้นส่วนแนวตั้ง ( |
), ขีดกลางสำหรับส่วนแนวนอน ( -
), และบวกสำหรับมุม ( +
)
แผนภาพยังแสดงกล่องที่อยู่ภายในกล่องอื่น ๆ เราจะเรียกจำนวนกล่องที่มีกล่องอยู่ในเลเยอร์ของกล่องนั้น นี่คือแผนภาพอีกครั้งด้วยเลเยอร์ของแต่ละกล่องหมายเหตุประกอบ:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | 1 | |
| | +----------------+ | | | |
| | | | | 0 +-------+ |
| | | 2 | 1 | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | 1 | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
โปรแกรมของคุณจะใช้ในแผนภาพกล่องคล้ายกับที่ด้านบนเป็นอินพุต โปรแกรมของคุณควรแสดงแผนภาพกล่องด้วย:
- กล่องที่อยู่บนชั้น 0 ควรจะเต็มไปด้วยตัวละคร
#
(หมายเหตุ: จะมีเพียงหนึ่งกล่องในชั้นที่ 0); - กล่องบนชั้น 1 ควรจะเต็มไปด้วยตัวละคร
=
; - กล่องในชั้นที่ 2 ควรเต็มไปด้วยตัวละคร
-
; - กล่องบนชั้นที่ 3 ควรจะเต็มไปด้วยตัวละคร
.
; - ไม่ควรกรอกกล่องที่เลเยอร์ 4 ขึ้นไป
นี่คือสิ่งที่เอาต์พุตของอินพุตตัวอย่างควรมีลักษณะ:
+--------------------------------------------------------------+
|##############################################################|
|###+-------------------------------+##########+-------+#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|=====+----------------+========|##########|=======|#######|
|###|=====|----------------|========|##########+-------+#######|
|###|=====|----------------|========|##########################|
|###|=====|----------------|========|##########+-------+#######|
|###|=====+----------------+========|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###+-------------------------------+##########+-------+#######|
|##############################################################|
+--------------------------------------------------------------+
นี่คืออินพุตและเอาต์พุตอื่นที่แสดงเลเยอร์ 3, 4 และ 5 ให้สังเกตเส้นแนวนอนที่ด้านบนซึ่งอยู่ใกล้กันมาก ในกรณีเหล่านี้มีพื้นที่ไม่เพียงพอสำหรับเติมอักขระใด ๆ
+-----------------------------------------------------------------------+
| +--------------------------------------------------------------+ |
| | +-----------------------------------------------------+ | |
| | | +-----------------------------------------+ | | |
| | | | +---------------------------+ | | | |
| | | | | +-------------+ | | | | |
| | | | | | | | | | | |
| | | | | +-------------+ | | | | |
| | | | +---------------------------+ | | | |
| | | | | | | |
| | | +-----------------------------------------+ | | |
| | | | | |
| | | | | |
| | +-----------------------------------------------------+ | |
| | | |
| +--------------------------------------------------------------+ |
| |
| |
| |
+-----------------------------------------------------------------------+
ผลลัพธ์:
+-----------------------------------------------------------------------+
|#####+--------------------------------------------------------------+##|
|#####|======+-----------------------------------------------------+=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........| | | |.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|.........................................|-|=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======+-----------------------------------------------------+=|##|
|#####|==============================================================|##|
|#####+--------------------------------------------------------------+##|
|#######################################################################|
|#######################################################################|
|#######################################################################|
+-----------------------------------------------------------------------+
ข้อมูลอื่นเวลานี้กับเส้นแนวตั้งใกล้กัน:
+-------------+
|+-----------+|
|| ||
|| ||
|| ||
|+-----------+|
+-------------+
ผลลัพธ์:
+-------------+
|+-----------+|
||===========||
||===========||
||===========||
|+-----------+|
+-------------+
หมายเหตุเพิ่มเติม
- สามารถมีช่องว่างรอบ ๆ กล่องด้านนอกสุด
- กล่องไม่สามารถมีความกว้างหรือความสูงภายในเป็น 0 (ดังนั้นจะต้องมีที่ว่างอยู่ภายใน)
- กล่องที่อยู่บนชั้นเดียวกันสามารถสัมผัสกันได้
import java.util.Scanner
ด้วยimport java.util.*