Sebuah ruangan dapat terdiri dari empat persegi panjang yang terhubung, misalnya sebuah ruangan berbentuk L. Ruangan seperti itu dapat dideskripsikan dengan daftar dimensi yang menggambarkan ukuran masing-masing persegi panjang.
Asumsikan Anda memiliki dua daftar input. Yang pertama berisi lebar persegi panjang yang ditumpuk secara vertikal satu sama lain. Yang kedua berisi ketinggian persegi panjang.
Sebagai contoh, input [4 6][3 2]akan menjadi persegi panjang 4-by-3 di atas persegi panjang 6-oleh-2. Gambar di bawah ini menunjukkan bentuk ini. Perhatikan bahwa dinding dianggap "tipis", jadi itu adalah ruang antara dinding yang ditentukan oleh input.
[4 6][3 2]
____
| |
| |
| |_
| |
|______|
Tantangannya adalah: Ambil daftar dimensi sebagai input, dan output bentuk ruangan sebagai seni ASCII. Formatnya harus seperti pada contoh sampel:
- Semua dinding horizontal ditampilkan menggunakan garis bawah
- Semua dinding vertikal ditampilkan menggunakan batang
- Tidak akan ada dinding di mana persegi panjang terhubung
- Dinding kiri lurus
- Untuk lebih jelasnya, lihat kasus uji
Asumsi yang dapat Anda buat:
- Semua dimensi berada dalam kisaran
[1 ... 20]- Semua dimensi horizonal adalah bilangan genap
- Jumlah persegi panjang akan berada dalam kisaran
[1 ... 10] - Hanya input yang valid yang diberikan
- Format input opsional (Anda dapat menentukan urutan dimensi input, harap tentukan dalam jawabannya).
Kasus uji:
[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) -> format input saya:[1 2 1 1 1 2 1 3 2 1][2 4 10 2 18 4 8 6 14 2]