Một căn phòng có thể được tạo thành từ các hình chữ nhật được kết nối, ví dụ như một phòng hình chữ L. Một căn phòng như vậy có thể được mô tả bằng một danh sách các kích thước mô tả kích thước của mỗi hình chữ nhật.
Giả sử bạn có hai danh sách đầu vào. Cái đầu tiên chứa chiều rộng của hình chữ nhật xếp chồng lên nhau theo chiều dọc. Thứ hai chứa chiều cao của hình chữ nhật.
Ví dụ, đầu vào [4 6][3 2]
sẽ là hình chữ nhật 4 x 3 trên đầu hình chữ nhật 6 x 2. Hình dưới đây cho thấy hình dạng này. Lưu ý rằng các bức tường được coi là "mỏng", do đó, khoảng cách giữa các bức tường được xác định bởi đầu vào.
[4 6][3 2]
____
| |
| |
| |_
| |
|______|
Thách thức là: Lấy một danh sách các kích thước làm đầu vào và xuất hình dạng của căn phòng dưới dạng nghệ thuật ASCII. Định dạng phải như trong các số liệu mẫu:
- Tất cả các bức tường ngang được hiển thị bằng cách sử dụng dấu gạch dưới
- Tất cả các bức tường thẳng đứng được hiển thị bằng cách sử dụng các thanh
- Không có bức tường nơi hình chữ nhật được kết nối
- Tường bên trái thẳng
- Để biết thêm chi tiết, hãy xem các trường hợp thử nghiệm
Giả định bạn có thể thực hiện:
- Tất cả các kích thước nằm trong phạm vi
[1 ... 20]
- Tất cả các kích thước đường chân trời là số chẵn
- Số lượng hình chữ nhật sẽ nằm trong phạm vi
[1 ... 10]
- Chỉ có đầu vào hợp lệ được đưa ra
- Định dạng đầu vào tùy chọn (bạn có thể quyết định thứ tự các kích thước đầu vào, vui lòng chỉ định trong câu trả lời).
Các trường hợp thử nghiệm:
[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]
-> (hoán đổi và đảo ngược) -> định dạng đầu vào của tôi:[1 2 1 1 1 2 1 3 2 1][2 4 10 2 18 4 8 6 14 2]