Các thách thức
Chương trình hoặc chức năng của bạn sẽ chấp nhận đầu vào chuỗi đơn từ STDIN hoặc tham số chức năng. Bạn có thể giả sử đầu vào sẽ chỉ chứa các ký tự chữ cái (a-zA-Z), dấu cách và dấu dừng đầy đủ. Đầu vào không phân biệt chữ hoa chữ thường, vì vậy bạn nên đối xử với 'a' chính xác giống như bạn sẽ đối xử với 'A'.
Đối với mỗi ký tự trong chuỗi, bạn sẽ xuất đại diện cho một tòa nhà theo thông số kỹ thuật sau.
Mỗi tòa nhà phải có một mái nhà, được chỉ định bởi một dấu gạch dưới ở dòng trên cùng sau đó là dấu gạch chéo, dấu cách, dấu gạch chéo ngược trên dòng thứ hai.
_
/ \
Sau đó, bạn sẽ có một số tầng, khớp với số chữ cái (a = 1, b = 2, c = 3, v.v.) được thể hiện bằng một bức tường (|) ở mỗi bên và một khoảng trống ở giữa. Tầng dưới cùng (và chỉ tầng dưới cùng) nên có một nền tảng, đó là một gạch dưới giữa các bức tường. Như thế này...
|_|
Vì vậy, ví dụ, 'b' sẽ trông như thế này
_
/ \
| |
|_|
Bây giờ, chúng ta biết rằng các tòa nhà rất cao, hẹp không thể đứng và phải rộng hơn ở chân đế, vì vậy không có tòa nhà nào có thể cao hơn ba tầng mà không có một số hỗ trợ bổ sung. Vì vậy, cứ ba cấp độ (không ít hơn), bạn nên thêm một 'lớp mở rộng'. Lớp mở rộng bao gồm một dấu gạch chéo và dấu gạch chéo ngược ngay phía trên các bức tường của phần bên dưới nó, và phần bên dưới nên rộng hơn hai khoảng trống so với phần bên trên. Lớp bổ sung không được tính vào chiều cao của tòa nhà.
Các tòa nhà không nên chồng chéo nhưng không nên có bất kỳ khoảng trống không cần thiết nào giữa chúng và mặt đất luôn bằng phẳng để tất cả các tòa nhà nên có căn cứ của chúng ở cùng một cấp độ.
Ví dụ: 'abcdefga' sẽ trông như thế này.
_
/ \
_ | |
_ / \ | |
_ / \ | | | |
/ \ | | | | / \
_ | | | | | | | |
_ / \ | | | | / \ | |
_ / \| | | | / \| | | | _
/ \| || |/ \| || |/ \/ \
|_||_||_||___||___||___||_____||_|
Các không gian trong đầu vào chuỗi phải được biểu thị bằng một khoảng trắng kép.
Dừng hoàn toàn trong đầu vào chuỗi nên được thể hiện bằng đống đổ nát như thế này.
/\/\
Ví dụ khác
Đầu vào = Hello world.
Đầu ra =
_
/ \
| |
| |
| |
/ \
| |
| | _
| | / \
/ \ | |
| | | |
_ | | _ | |
/ \ | | / \ / \
| | / \ | | | |
| | | | | | | |
_ _ | | | | | | | | _
/ \ / \ / \ | | / \ / \ / \
| | | | | | / \ | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
_ / \ / \ / \ | | / \ / \ / \
/ \ | | | | | | / \ | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | _ / \ / \ / \ | | / \ / \ / \
/ \ / \ | | | | | | / \ | | | | | | _
| | | | | | | | | | | | | | | | | | / \
| | | | | | | | | | | | | | | | | | | |
| | | | / \/ \/ \ | | / \/ \/ \ | |
/ \/ \| || || | / \| || || | | |
| || || || || | | || || || |/ \
|_____||___||_______||_______||_________| |_______________||_________||___________||_______||___|/\/\
Đầu vào = lorem ipsum
_
/ \
_ | |
/ \ | |
_ | | | |
/ \ | | / \
| | _ | | | |
| | / \ / \ | |
_ | | | | | | | |
/ \ / \ | | | | / \
| | | | _ | | | | | | _
| | | | / \ / \ / \ | | / \
_ | | | | | | | | | | | | | |
/ \ / \ / \ | | | | | | / \ | |
| | | | | | | | | | | | | | | |
| | | | | | / \ / \ / \ | | / \
| | | | | | | | _ | | | | | | | |
/ \ / \ / \ | | / \ | | | | / \ | |
| | | | | | | | | | | | | | | | | |
| | | | | | / \ | | / \ / \ | | / \
| | | | | | | | | | | | | | | | | |
/ \ / \ / \ _ | | / \ | | | | / \ | |
| | | | | | / \ | | | | | | | | | | | |
| | | | | | | | / \ | | / \ / \ | | / \
| | | | | | | | | | | | | | | | | | | |
/ \/ \/ \ | | | | / \ | | | | / \ | |
| || || |/ \ | | | | | | | | | | | |
| || || || |/ \ | |/ \/ \| |/ \
|_______||_________||___________||___||_________| |_____||___________||_____________||_____________||_________|
Đầu vào = a.a.a.x.x.x.a.a.a
_ _ _
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
_ _ _ | | | | | | _ _ _
/ \ / \ / \ | | | | | | / \ / \ / \
|_|/\/\|_|/\/\|_|/\/\|_______________|/\/\|_______________|/\/\|_______________|/\/\|_|/\/\|_|/\/\|_|
Quy tắc
- Tất nhiên đây là mã golf, điểm thấp nhất tính bằng byte thắng
- Quy tắc kẽ hở tiêu chuẩn áp dụng
- Bất kỳ số lượng dòng trống bổ sung trước hoặc sau khi đầu ra được cho phép
- Bạn có thể chọn xuất toàn bộ kết quả trong một chuỗi hoặc cung cấp đầu ra dưới dạng một mảng trong đó mỗi phần tử đại diện cho một dòng đầu ra hoặc gửi đến STDOUT
chú thích
Đây là bài viết đầu tiên của tôi đến PPCG, vì vậy hãy đi dễ dàng với tôi. Nó đã đi qua hộp cát. Bất kỳ điểm tiêu cực hoặc cải thiện có thể xin vui lòng gửi như một nhận xét và tôi sẽ làm những gì tôi có thể
[a,z]
, những [1.26]
phần mà Mego đã đề cập. Có tùy chọn thường là tốt nhất (trừ khi đó là một phần quan trọng của thử thách (không có ở đây).
[a,z]
và[A,Z]
để[1,26]
có vẻ như là một yêu cầu vô nghĩa. Sẽ tốt hơn nhiều nếu chỉ sử dụng một số nguyên danh sách làm đầu vào (phải0
là đầu vào cho đống đổ nát). Ngoài ra, việc đăng thử thách của bạn sau khi nó ở trong Sandbox chỉ trong 21 giờ , không cần chờ nhận bất kỳ phiếu bầu hay phản hồi nào từ nhiều người dùng, không được tính là đã "thông qua hộp cát". Bạn nên để các thử thách trong Sandbox tối thiểu trong 48-72 giờ, để mọi người có nhiều thời gian để xem xét chúng.