Giới thiệu
Đây là một trong những khá đơn giản. Chúng tôi sẽ vẽ một con rắn trong ascii. Điều này được lấy cảm hứng từ trò chơi rắn cũ mà bạn phải thu thập trái cây và bạn liên tục phát triển.
Định nghĩa
Cho một số nguyên dương N đại diện cho chiều dài của con rắn, vẽ một con rắn sao cho nó có một cơ thể n cộng với một cái đầu và một cái đuôi.
Các bộ phận:
- cái đầu:
<, >, ^, v
- đuôi:
@
- theo chiều dọc:
|
- đường chân trời:
-
Tất cả các góc nên được thỏa mãn với một \
hoặc /
tương ứng. Trừ khi đầu kết thúc ở một góc, trong trường hợp đó, đầu <, >, ^, v
được ưu tiên theo hướng con rắn cuộn tròn. tức là đối với ví dụ chiều dài 1, nó được quay ngược chiều kim đồng hồ và do đó đầu được quay theo cách đó. Đối với một giải pháp theo chiều kim đồng hồ, nó sẽ ở bên phải >
.
Con rắn phải bắt đầu ở giữa với đuôi của nó nhưng nó có thể đi ra ngoài theo bất kỳ hướng nào bạn chọn theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ. Nó cũng phải quấn chặt quanh nó khi nó mở rộng ra theo kiểu vòng tròn.
Thí dụ
/--\
|/\|
||@|
|\-/
\--->
Trường hợp @
là đuôi và vị trí bắt đầu. Như đã thấy ở trên đuôi bắt đầu ở giữa, đi lên bên trái theo một vòng quay ngược chiều kim đồng hồ ra bên ngoài.
Ở đây chiều dài 19
cộng với một cái đuôi và một cái đầu.
Một ví dụ khác, đây là chiều dài 1
:
<\
@
Chiến thắng
Đây là môn đánh gôn, vì vậy câu trả lời được gửi với số byte nhỏ nhất sẽ thắng, với thời gian được sử dụng làm bộ ngắt kết nối.
Chúc vui vẻ!
@
là ở giữa (có thể thêm một số khoảng trắng để làm cho nó như vậy), khai báo "bên phải" để làm hướng và làm cho chỉ đầu hướng xuống và khai báo theo chiều kim đồng hồ. Điều khoản của bạn có vẻ rõ ràng với bạn, nhưng chúng thực sự mơ hồ. Tôi nhận ra bạn có thể có nghĩa là một con rắn cuộn càng chặt càng tốt, nhưng bạn nên làm rõ điều đó
@---->
. Bạn có thể có ý định điều kiện nghiêm ngặt hơn về hình dạng con rắn. Ngoài ra, hãy làm rõ có bao nhiêu khoảng trắng hoặc không được phép