Là một phần của dự án quy hoạch thành phố, bạn đã được giao nhiệm vụ tạo một chương trình hoặc chức năng sẽ hiển thị đường chân trời thành phố, được cung cấp một số đầu vào từ các kiến trúc sư. Dự án chỉ trong giai đoạn khởi động, vì vậy một bản phác thảo rất thô là đủ. Tất nhiên, cách tiếp cận đơn giản nhất là vẽ đường chân trời trong nghệ thuật ASCII.
Tất cả các tòa nhà sẽ ở bên bờ sông, do đó tất cả chúng đều thẳng hàng. Các kiến trúc sư sẽ cho chiều cao của mỗi tòa nhà làm đầu vào và mã của bạn sẽ hiển thị đường chân trời.
Đầu vào từ các kiến trúc sư sẽ là một số nguyên hoặc một nửa số nguyên. Nếu số là một số nguyên, tòa nhà sẽ có một mái bằng, trong khi một nửa số nguyên sẽ dẫn đến một mái dốc. Một số không sẽ chỉ là mặt đất bằng phẳng. Các bức tường của một tòa nhà cách nhau 3 ký tự, trong khi số 0 sẽ là một ký tự rộng. Các tòa nhà liền kề chia sẻ các bức tường.
Để biết chi tiết và làm rõ về đầu ra, xin vui lòng xem các ví dụ dưới đây:
N = 3
___
| |
| |
|___|
N = 3.5
_
/ \
| |
| |
|___|
N = 6
___
| |
| |
| |
| |
| |
|___|
n = 0
_
Ví dụ đầu vào: 3 3.5 0 2
_
___ / \
| | | ___
| | | | |
|___|___|_|___|
Ví dụ đầu vào: 0 0 2.5 3 0 4 1
___
_ ___ | |
/ \| | | |
| | | | |___
__|___|___|_|___|___|
Louisville ,0 2 1 3.5 0 4 2 4 2 4 6 1 6 0 5 1
___ ___
| | | | ___
_ ___ ___ ___| | | | | |
/ \ | | | | | | | | | | |
___ | | | |___| |___| | | | | | |
| |___| | | | | | | | |___| | | |___
_|___|___|___|_|___|___|___|___|___|___|___|___|_|___|___|
Các ký tự ASCII được sử dụng là: dòng mới, dấu cách và /\_|
(mã điểm 10, 32, 47, 92, 95, 124).
Quy tắc:
- Tùy chọn để tạo một chương trình chỉ lấy số nguyên làm đầu vào, bằng cách nhân tất cả các số với hai. Vì vậy, thay vì lấy
3 3.5 2
, chương trình của bạn có thể mất6 7 4
. Nếu định dạng đầu vào thứ hai được chọn, đầu vào 6 sẽ dẫn đến tòa nhà 3 tầng, 7 sẽ là tòa nhà 3 tầng có mái dốc, v.v. - Đầu ra phải chính xác như được mô tả ở trên, nhưng dấu cách và dòng mới là OK.
- Các định dạng chính xác của đầu vào là tùy chọn. Bất cứ điều gì là tốt nhất trong ngôn ngữ của bạn.
- Kết quả phải được hiển thị trên màn hình, để các kiến trúc sư có thể nhìn vào nó.
- Bạn có thể giả sử sẽ có ít nhất một số nguyên được cung cấp và chỉ có đầu vào hợp lệ mới được cung cấp.
Đây là codegolf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng.