Spójrz na ten schemat ascii różnych skrzynek:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | | |
| | +----------------+ | | | |
| | | | | +-------+ |
| | | | | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
Każde pole jest utworzone z literami potoku dla części pionowych ( |), myślnikami dla części poziomych ( -) i plusami dla narożników ( +).
Schemat pokazuje również pola wewnątrz innych pól. Nazwiemy liczbę pól, w których pole jest zawarte w warstwie tego pola . Oto schemat z adnotacją warstwy każdego pola:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | 1 | |
| | +----------------+ | | | |
| | | | | 0 +-------+ |
| | | 2 | 1 | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | 1 | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
Twój program przyjmie schemat wejściowy podobny do schematu u góry. Jako wynik, twój program powinien wypisać schemat skrzynki z:
- Pole na warstwie 0 powinno być wypełnione znakiem
#(UWAGA: Zawsze będzie tylko jedno pole na warstwie 0); - Pola na warstwie 1 powinny być wypełnione znakiem
=; - Pola na warstwie 2 powinny być wypełnione znakiem
-; - Pola na warstwie 3 powinny być wypełnione znakiem
.; - Pudełka na warstwie 4 i wyższej nie powinny być wypełnione.
Oto, jak powinien wyglądać wynik przykładowego wejścia:
+--------------------------------------------------------------+
|##############################################################|
|###+-------------------------------+##########+-------+#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|=====+----------------+========|##########|=======|#######|
|###|=====|----------------|========|##########+-------+#######|
|###|=====|----------------|========|##########################|
|###|=====|----------------|========|##########+-------+#######|
|###|=====+----------------+========|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###+-------------------------------+##########+-------+#######|
|##############################################################|
+--------------------------------------------------------------+
Oto kolejne dane wejściowe i wyjściowe pokazujące warstwy 3, 4 i 5. Zwróć uwagę na poziome linie u góry, które są bardzo blisko siebie. W takich przypadkach nie ma wystarczającej ilości miejsca, aby wypełnić tam dowolne postacie.
+-----------------------------------------------------------------------+
| +--------------------------------------------------------------+ |
| | +-----------------------------------------------------+ | |
| | | +-----------------------------------------+ | | |
| | | | +---------------------------+ | | | |
| | | | | +-------------+ | | | | |
| | | | | | | | | | | |
| | | | | +-------------+ | | | | |
| | | | +---------------------------+ | | | |
| | | | | | | |
| | | +-----------------------------------------+ | | |
| | | | | |
| | | | | |
| | +-----------------------------------------------------+ | |
| | | |
| +--------------------------------------------------------------+ |
| |
| |
| |
+-----------------------------------------------------------------------+
Wyjście:
+-----------------------------------------------------------------------+
|#####+--------------------------------------------------------------+##|
|#####|======+-----------------------------------------------------+=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........| | | |.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|.........................................|-|=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======+-----------------------------------------------------+=|##|
|#####|==============================================================|##|
|#####+--------------------------------------------------------------+##|
|#######################################################################|
|#######################################################################|
|#######################################################################|
+-----------------------------------------------------------------------+
Kolejne wejście, tym razem również z pionowymi liniami blisko siebie:
+-------------+
|+-----------+|
|| ||
|| ||
|| ||
|+-----------+|
+-------------+
Wyjście:
+-------------+
|+-----------+|
||===========||
||===========||
||===========||
|+-----------+|
+-------------+
Dodatkowe uwagi
- Wokół najbardziej zewnętrznego pudełka mogą znajdować się białe znaki.
- Pudełka nie mogą mieć wewnętrznej szerokości ani wysokości 0 (więc zawsze będą w nich trochę miejsca)
- Pudełka na tej samej warstwie mogą się stykać.
import java.util.Scannerzimport java.util.*