Trong Cờ đam Trung Quốc , một mảnh có thể di chuyển bằng cách nhảy qua bất kỳ mảnh nào khác, hoặc bằng cách tạo ra một chuỗi các bước nhảy như vậy. Nhiệm vụ của bạn là tìm ra chuỗi hoa bia dài nhất có thể.
Đầu vào
Một chuỗi gồm 121 số không hoặc số 0, mỗi số đại diện cho một vị trí trên bảng. Số không có nghĩa là nơi trống rỗng; một trong những có nghĩa là nơi bị chiếm đóng. Các vị trí được liệt kê từ trái sang phải; từ trên xuống dưới. Ví dụ: đầu vào của thiết lập này sẽ là
1011110011000001000000000000000000000000100000000001000000000000000000000000000001000000000000000000000001000001100111111
Giải trình:
Vị trí trên cùng được chiếm bởi một mảnh màu xanh lá cây, vì vậy chữ số đầu tiên trong đầu vào là
1
. Hàng thứ hai có một vị trí trống và sau đó một vị trí chiếm đóng, do đó01
tiếp theo. Hàng thứ ba là tất cả chiếm, vì vậy111
. Hàng thứ tư có hai khoảng trống và hai khoảng trống (đi từ trái sang phải), vì vậy0011
. Sau đó đến năm0
, một1
và bảy0
cho hàng tiếp theo, v.v.
Giống như trong thiết lập đó, có một góc chỉ thẳng lên. Có thể có bất kỳ số lượng các mảnh trên bảng (từ 1 đến 121). Lưu ý rằng các mảnh màu khác nhau không được đại diện khác nhau.
Đầu ra
Độ dài tối đa của một bước nhảy hợp pháp, sử dụng bất kỳ mảnh nào trên bảng. Bạn không thể truy cập cùng một địa điểm nhiều lần (bao gồm cả vị trí bắt đầu và kết thúc). Tuy nhiên, bạn có thể nhảy qua cùng một mảnh nhiều lần. Nếu không có hop hợp pháp, đầu ra0
. Không xem xét liệu có tồn tại một động thái phi hop hợp pháp.
Ví dụ: đầu ra cho thiết lập được mô tả ở trên là 3
.
Đầu vào và đầu ra có thể được thực hiện thông qua stdin và stdout, thông qua các đối số dòng lệnh, thông qua các lệnh gọi hàm hoặc bất kỳ phương thức tương tự nào.
Các trường hợp thử nghiệm
Đầu vào:
0100000010000000000000000100000000000000000000000000000001010010000000000000000000000101000000000000000000100000000100001
Đầu ra: 0
(không có hai mảnh nằm cạnh nhau)
Đầu vào:
0000000000111100000000011100000000011000000000100000000000000000000000000000000000000000000000000000000000000000000000000
Đầu ra: 1
(thiết lập ban đầu cho một người chơi ở góc trên bên trái)