Una stanza può essere composta da rettangoli collegati, ad esempio una stanza a forma di L. Tale stanza può essere descritta da un elenco di dimensioni che descrivono le dimensioni di ciascun rettangolo.
Supponiamo di avere due elenchi di input. Il primo contiene la larghezza dei rettangoli sovrapposti verticalmente. Il secondo contiene l'altezza dei rettangoli.
Ad esempio, l'input [4 6][3 2]sarà un rettangolo 4 per 3 sopra un rettangolo 6 per 2. La figura seguente mostra questa forma. Si noti che i muri sono considerati "sottili", quindi sono gli spazi tra il muro che sono determinati dall'input.
[4 6][3 2]
____
| |
| |
| |_
| |
|______|
La sfida è: prendere un elenco di dimensioni come input e produrre la forma della stanza come ASCII-art. Il formato deve essere come nelle figure di esempio:
- Tutte le pareti orizzontali sono mostrate usando i trattini bassi
- Tutte le pareti verticali vengono visualizzate mediante barre
- Non devono esserci pareti in cui i rettangoli sono collegati
- La parete sinistra è dritta
- Per maggiori dettagli, dai un'occhiata ai casi di test
Ipotesi che puoi fare:
- Tutte le dimensioni sono nell'intervallo
[1 ... 20]- Tutte le dimensioni orizzontali sono numeri pari
- Il numero di rettangoli sarà compreso nell'intervallo
[1 ... 10] - Viene fornito solo un input valido
- Formato di input facoltativo (è possibile decidere l'ordine delle dimensioni di input, specificare nella risposta).
Casi test:
[2][1]
__
|__|
---
[4][2]
____
| |
|____|
---
[2 6 2 4][2 2 1 3]
__
| |
| |___
| |
| ___|
| |_
| |
| |
|____|
---
[2 14 6 8 4 18 2 10 4 2][1 2 3 1 2 1 1 1 2 1]
__
| |___________
| |
| _______|
| |
| |
| |_
| ___|
| |
| |_____________
| _______________|
| |______
| ____|
| |
| _|
|__|
[2 14 6 8 4 18 2 10 4 2][1 2 3 1 2 1 1 1 2 1]-> (scambia e inverti) -> il mio formato di input:[1 2 1 1 1 2 1 3 2 1][2 4 10 2 18 4 8 6 14 2]