Bình chứa này có thể chứa nhiều chất lỏng này không?
Tóm tắt thử thách
Như bạn có thể biết, chất lỏng có hình dạng không xác định và khối lượng xác định. Như vậy, họ luôn có hình dạng của container của họ. Họ không thể, tuy nhiên, mở rộng để điền vào container của họ.
Công việc của bạn hôm nay là xác định xem một lượng chất lỏng nhất định (được biểu thị bằng một số L
ký tự hoặc số nhất định đại diện cho thể tích của bộ phận, theo gợi ý) có thể vừa với một vật chứa có kích thước nhất định (được biểu thị bằng ma trận C
các ký tự) với một số lượng không gian trống (được biểu thị bằng các ký tự khoảng trắng) bên trong nó. Container sẽ luôn có các C
ký tự xung quanh chu vi.
Chương trình của bạn sẽ trả về giá trị trung thực / falsey dựa trên việc chất lỏng có vừa với vật chứa hay không. Nó sẽ chỉ phù hợp nếu có một vùng không gian trống được kết nối (được tạo thành từ các không gian liền kề nhau theo chiều ngang, đường chéo hoặc chiều dọc) trong thùng chứa cho từng phần của chất lỏng được tách ra khỏi phần còn lại (bằng một khoảng trắng hoặc bởi hai ký tự dòng mới).
Các trường hợp thử nghiệm
LLL
L
----- True
CCCCC
C CC
C CC
CCCCC
LLL
LL
------ True
CCCCCC
C C C
C CCC
CCCCCC
L L
LLL
----- False (Not enough space)
CCCCC
CCCCC
C CC
CCCCC
LL
------ False (Spaces are not connected but liquid is)
CCCCCC
CCCC C
C CCCC
CCCCCC
L L
------ True
CCCCCC
CCCC C
C CCCC
CCCCCC
L L
------ True (There is a pocket of empty space which holds both parts of the liquid)
CCCCCC
CCC C
CCCCCC
CCCCCC
L
L
------ True (There is a pocket of empty space for each part of the liquid)
CCCCCC
CCCC C
C CCCC
CCCCCC
L L L LL
------ True
CCCCCCCCC
CCCC C C
C CCCCCCC
CCCCCC CC
CCCCCCCCC
L
L
----- True
CCCCC
CCCCC
C CC
CCCCC
Hãy đề nghị các trường hợp thử nghiệm!
Quy tắc
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.
- Sơ hở tiêu chuẩn là không được phép.
L
văn bản làm danh sách các tập (tức là danh sách số L
s trong mỗi số tiền) không? Vì phân tích cú pháp cho không gian và gấp đôi dòng mới dường như không liên quan đến cốt lõi của thách thức. Ngoài ra, chúng ta có thể lấy C
văn bản làm ma trận gồm hai giá trị riêng biệt thay vì cùng một lý do không?
L
và một LL
với không gian có kích thước 3 và 2 (một thuật toán chỉ lấp đầy các khoảng trống nhỏ nhất trước tiên bằng các mảnh chất lỏng nhỏ nhất vẫn sử dụng sẽ mang lại Falsey). Có thể giống nhau nhưng với 2 L
và một LLL
cũng vậy, để phục vụ cho hướng khác.
L
một danh sách các số nguyên. Cái thứ hai là phân tích C
ma trận đầu vào thành một danh sách các số nguyên. Và câu hỏi thứ ba là một câu hỏi xác định cho túi số nguyên A và B đã cho, nếu có một phân vùng trong A, khi tổng tất cả các số nguyên trong mỗi phân vùng để có được một túi A ', mọi số lớn nhất thứ n trong A' đều nhỏ hơn ( <=) so với số lớn nhất thứ n trong B '.
L\n\nL
,CCCCC\nCCCCC\nC..CC\nCCCCC
(.
đại diện cho một khoảng trắng,\n
đại diện cho một dòng mới).