Une pièce peut être constituée de rectangles connectés, par exemple une pièce en forme de L. Une telle pièce peut être décrite par une liste de dimensions décrivant la taille de chaque rectangle.
Supposons que vous ayez deux listes d'entrée. Le premier contient la largeur des rectangles empilés verticalement les uns sur les autres. Le second contient la hauteur des rectangles.
Par exemple, l'entrée [4 6][3 2]sera un rectangle 4 x 3 au-dessus d'un rectangle 6 x 2. La figure ci-dessous montre cette forme. Notez que les murs sont considérés comme "minces", donc ce sont les espaces entre les murs qui sont déterminés par l'entrée.
[4 6][3 2]
____
| |
| |
| |_
| |
|______|
Le défi est le suivant: prendre une liste de dimensions en entrée et sortir la forme de la pièce en ASCII. Le format doit être comme dans les exemples de figures:
- Tous les murs horizontaux sont représentés à l'aide de traits de soulignement
- Tous les murs verticaux sont représentés à l'aide de barres
- Il ne doit pas y avoir de murs où les rectangles sont connectés
- Le mur de gauche est droit
- Pour plus de détails, jetez un œil aux cas de test
Hypothèses que vous pouvez formuler:
- Toutes les dimensions sont dans la gamme
[1 ... 20]- Toutes les dimensions horizontales sont des nombres pairs
- Le nombre de rectangles sera dans la plage
[1 ... 10] - Seule une entrée valide est donnée
- Format d'entrée facultatif (vous pouvez décider de l'ordre des dimensions d'entrée, veuillez le préciser dans la réponse).
Cas de 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]-> (swap and reverse) -> mon format d'entrée:[1 2 1 1 1 2 1 3 2 1][2 4 10 2 18 4 8 6 14 2]