Lihatlah diagram seni ascii ini dari berbagai kotak:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | | |
| | +----------------+ | | | |
| | | | | +-------+ |
| | | | | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
Setiap kotak dibentuk dengan karakter pipa untuk bagian vertikal ( |), strip untuk bagian horizontal ( -), dan plus untuk sudut ( +).
Diagram juga menunjukkan kotak di dalam kotak lain. Kami akan memanggil jumlah kotak yang berisi kotak dalam lapisan kotak itu . Berikut diagram lagi dengan lapisan setiap kotak beranotasi:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | 1 | |
| | +----------------+ | | | |
| | | | | 0 +-------+ |
| | | 2 | 1 | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | 1 | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
Program Anda akan menerima diagram kotak serupa dengan yang ada di atas sebagai input. Sebagai output, program Anda harus menampilkan diagram kotak dengan:
- Kotak pada layer 0 harus diisi dengan karakter
#(NB: Hanya akan ada satu kotak di layer 0); - Kotak pada layer 1 harus diisi dengan karakter
=; - Kotak pada layer 2 harus diisi dengan karakter
-; - Kotak pada layer 3 harus diisi dengan karakter
.; - Kotak pada layer 4 dan di atasnya tidak boleh diisi.
Berikut tampilan output dari contoh input:
+--------------------------------------------------------------+
|##############################################################|
|###+-------------------------------+##########+-------+#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|=====+----------------+========|##########|=======|#######|
|###|=====|----------------|========|##########+-------+#######|
|###|=====|----------------|========|##########################|
|###|=====|----------------|========|##########+-------+#######|
|###|=====+----------------+========|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###+-------------------------------+##########+-------+#######|
|##############################################################|
+--------------------------------------------------------------+
Berikut ini adalah input dan output lain yang menunjukkan layer 3, 4, dan 5. Perhatikan garis horizontal di atas yang sangat berdekatan. Dalam kasus ini tidak ada cukup ruang untuk mengisi karakter apa pun di sana.
+-----------------------------------------------------------------------+
| +--------------------------------------------------------------+ |
| | +-----------------------------------------------------+ | |
| | | +-----------------------------------------+ | | |
| | | | +---------------------------+ | | | |
| | | | | +-------------+ | | | | |
| | | | | | | | | | | |
| | | | | +-------------+ | | | | |
| | | | +---------------------------+ | | | |
| | | | | | | |
| | | +-----------------------------------------+ | | |
| | | | | |
| | | | | |
| | +-----------------------------------------------------+ | |
| | | |
| +--------------------------------------------------------------+ |
| |
| |
| |
+-----------------------------------------------------------------------+
Hasil:
+-----------------------------------------------------------------------+
|#####+--------------------------------------------------------------+##|
|#####|======+-----------------------------------------------------+=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........| | | |.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|.........................................|-|=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======+-----------------------------------------------------+=|##|
|#####|==============================================================|##|
|#####+--------------------------------------------------------------+##|
|#######################################################################|
|#######################################################################|
|#######################################################################|
+-----------------------------------------------------------------------+
Input lain, kali ini dengan garis vertikal berdekatan juga:
+-------------+
|+-----------+|
|| ||
|| ||
|| ||
|+-----------+|
+-------------+
Hasil:
+-------------+
|+-----------+|
||===========||
||===========||
||===========||
|+-----------+|
+-------------+
catatan tambahan
- Mungkin ada ruang kosong di sekitar kotak terluar.
- Kotak tidak boleh memiliki lebar internal atau tinggi 0 (sehingga mereka akan selalu ada ruang di dalamnya)
- Kotak pada lapisan yang sama dapat saling menyentuh.
import java.util.Scannerdenganimport java.util.*