Hầu hết mọi người đều quen thuộc với trope về việc đếm cừu để ngủ. Có một đàn cừu, một số trong số chúng nhảy qua hàng rào và bạn đếm cừu khi chúng nhảy. Giả sử, điều này giúp làm dịu tâm trí của bạn và đưa bạn vào trạng thái giống như giấc ngủ để bạn ngủ thiếp đi.
Đây là một con cừu ASCII quay mặt sang phải, đang chờ được tính:
'00^>
||
Đây là một con cừu ASCII nhảy qua hàng rào:
'00^>
/\
++
Đây là một mặt quay về bên trái, đã được tính:
<^00'
||
Các thách thức
Đưa ra hai số nguyên đầu vào, n
và m
, với việc n > 2
mô tả tổng số bao nhiêu con cừu và m > 0
cho biết có bao nhiêu con cừu đã được đếm, xuất ra một đại diện nghệ thuật ASCII đếm cừu để ngủ.
Bây giờ cho các twist:
- Do kích thước của những chiếc bút mà cừu đang ở, hàng trên cùng chỉ có thể chứa tối đa
10
cừu, không kể cừu đang nhảy mà cũng phải luôn ở hàng trên cùng. - Các hàng tiếp theo không thể có cừu bên ngoài bút tương ứng của chúng (bạn không thể có nhiều cừu ở bên trái ở hàng thứ hai so với bạn làm ở hàng đầu tiên và tương tự cho bên phải).
- Nếu có
11
hoặc nhiều tổng số cừu, hàng trên cùng phải có10
cộng với cừu nhảy trong đó. - Khoảng trắng hàng đầu / dấu và khoảng trắng giữa cừu không thành vấn đề, miễn là:
- Có tối thiểu một ký tự khoảng trắng giữa cừu
- Tất cả các nhân vật xếp hàng một cách thích hợp.
Miễn là các quy tắc này được đáp ứng, sự sắp xếp thực tế của con cừu là tùy thuộc vào việc bạn thực hiện.
Ví dụ
Ví dụ, đây là n=3
và m=1
trường hợp đơn giản nhất.
'00^>
'00^> /\ <^00'
|| ++ ||
Đây là n=11
và m=6
, hầu hết các con cừu có thể nằm trên một đường ngang.
'00^>
'00^> '00^> '00^> '00^> /\ <^00' <^00' <^00' <^00' <^00' <^00'
|| || || || ++ || || || || || ||
Đây là một ví dụ khác về điều đó, với n=11
vàm=1
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00'
|| || || || || || || || || ++ ||
Một ví dụ lớn hơn với n=30
vàm=12
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> <^00' <^00'
|| || || || || || || || || ||
'00^> <^00' <^00'
|| || ||
<^00' <^00'
|| ||
<^00' <^00'
|| ||
<^00' <^00'
|| ||
Đây là một ví dụ với n=17
vàm=2
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00'
|| || || || || || || || ++ || ||
'00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || ||
Đây là một ví dụ với n=19
vàm=3
'00^>
'00^> '00^> '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00' <^00'
|| || || || || || || ++ || || ||
'00^> '00^> '00^> '00^> '00^> '00^> '00^>
|| || || || || || ||
'00^>
||
Lưu ý rằng tất cả những điều này là ví dụ . Đối với cái cuối cùng, bạn có thể cuộn lên tạo ra một mảng cừu thẳng đứng ở phía bên tay phải, điều này sẽ cho phép phía bên trái khớp với hai hàng thay thế. Hoặc có thể là một hình vuông cừu 2x2 ở phía bên tay phải, cũng sẽ phù hợp với cừu bên tay trái lên hai hàng. Vân vân.
I / O và Nội quy
- Đầu vào có thể được thực hiện trong bất kỳ định dạng hợp lý và bằng bất kỳ phương pháp thuận tiện .
- Các dòng mới hàng đầu / dấu hoặc khoảng trắng khác là tùy chọn, miễn là các ký tự xếp hàng một cách thích hợp.
- Hoặc là một chương trình đầy đủ hoặc một chức năng được chấp nhận. Nếu một chức năng, bạn có thể trả lại đầu ra thay vì in nó.
- Đầu ra có thể là bàn điều khiển, được trả về dưới dạng danh sách các chuỗi, được trả về dưới dạng một chuỗi, v.v.
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn, vì vậy tất cả các quy tắc chơi gôn thông thường đều được áp dụng và mã ngắn nhất (tính bằng byte) sẽ thắng.
n=11
vàm=9
n=11
như vậy 0<m<=10
. Điều này buộc bạn phải có tất cả cừu ở hàng trên cùng và một số cừu động ở bên trái ( n-1-m
) và phải ( m
) của hàng rào và không thể sử dụng các cỡ bút cố định.