Đầu vào:
- Bạn nhận được một loạt các số nguyên (được cho ăn qua stdin hoặc dấu nhắc).
- Mỗi cặp số nguyên trong chuỗi này đại diện cho WIDTH của tòa nhà [phạm vi hợp lệ: 1..10] và HEIGHT [phạm vi hợp lệ: 0..10]
- Giả sử đầu vào được hình thành tốt.
Đầu vào mẫu (dòng thứ hai chỉ dành cho mục đích trình diễn):
1 2 1 1 1 0 2 4 1 3 1 2 2 1 WHWHWHWHWHWHWH
Đầu ra mẫu tương ứng:
______ / ______ / | | | | __ | | / __ / | __ | | | | __ / __ / | | | | / __ / | | | | __ | | | | | | | / __ / | | | | | / ______ / | | | | | _ | | | | | | | _o_ | _o_ | / __ | _o _____ | _o_ | _o_ | _o _____ | / ------------------------------------- - - - - - - - - - - - - - -------------------------------------
Quy tắc:
Những tòa nhà
- Một khối xây dựng cơ bản trông như thế này (1 W, 1H)
__ / __ / | (khối cơ sở được mượn từ một trong câu hỏi này: | | | http://stackoverflow.com/questions/1609702/code-golf-playing-cubes) | ___ | /
Quan điểm của chúng tôi là (ahum) ~ 3D để các tòa nhà lân cận có thể che giấu các phần của người khác. Các tòa nhà được 'logic' hiển thị từ trái sang phải.
Tòa nhà đầu tiên đi trước hai không gian bên trái.
Bạn kết xuất mọi tòa nhà bằng cách áp dụng WIDTH và HEIGHT cho các kích thước của khối cơ sở (hãy nhìn vào đầu ra mẫu được cung cấp!). Để tham khảo: số lượng ký tự từ trái sang phải 'tường' (đối với tòa nhà có W> 1): (W * 5) - (W-1).
Các tòa nhà có Chiều cao> 0 có MỘT cửa (được mô tả bởi nhân vật
o
và được đặt tại hai ký tự từ bức tường 'bên trái' trên hàng 'dưới cùng').
Con đường:
- Con đường bao gồm ba phần mà chúng ta sẽ gọi là 'trên cùng', 'giữa' và 'dưới cùng'.
- Phần 'trên cùng' và 'dưới cùng' giống hệt nhau ngoài thực tế là phần 'trên cùng' có trước hai khoảng trắng.
- Phần giữa được đi trước bởi một khoảng trắng và bao gồm sự lặp lại của mẫu sau:
'-'
- Chiều dài sẽ được xác định bằng tổng chiều rộng của các tòa nhà kết hợp: phần bên phải nhất của con đường tương ứng với vị trí của bức tường 'bên phải' của tòa nhà 'cuối cùng'.
Người chiến thắng:
Đây là môn đánh gôn! Người chiến thắng là thí sinh đủ điều kiện với giải pháp ngắn nhất (theo số mã nguồn). Nguồn phải chỉ bao gồm các ký tự ASCII có thể in được. Chúc vui vẻ!
Điểm thưởng tưởng tượng cho (ngẫu nhiên) cửa sổ, xe hơi hoặc người đi bộ.
Hãy bình luận nếu các thông số kỹ thuật không rõ ràng!
'- '
(có hai khoảng trống)? Chỉnh sửa : Ah, hai không gian không hiển thị: P. Bạn có thể hiển thị nhiều khoảng trắng bằng cách sử dụng ASCII 255 (không gian không phá vỡ, ALT + 255 trên numpad) hoặc bằng cách sao chép và dán từ nhận xét của tôi ở đây. Orr ... thay vào đó bạn chỉ có thể nói đó là sự lặp lại của ' - '
:)
but you must not enforce this
trong 3)? IMO, bất kỳ giả định nào cũng có sẵn để được khai thác nếu nó làm tăng điểm của bạn. Vì vậy, tôi có thể viết mã chỉ hoạt động nếu tổng chiều rộng nhỏ hơn 80 nếu tôi có thể giảm số lượng ký tự thấp hơn. Ví dụ, ghi đầu ra vào mảng bộ đệm hiển thị có chiều rộng 80, vì vậy nó sẽ bị sập trên bất kỳ chiều rộng nào cao hơn. Nếu bạn muốn bất kỳ chiều rộng nào được hỗ trợ, thì đừng đưa ra giả định - bạn không thể có cả hai: P