Đây là khái quát 2 chiều của thách thức này .
Đối với mục đích của chúng tôi, một ma trận (hoặc mảng 2D) Một được coi là một submatrix của một ma trận B , nếu A có thể thu được bằng cách loại bỏ hoàn toàn một số hàng và cột từ B . (Lưu ý: một số nguồn có định nghĩa khác / hạn chế hơn.)
Đây là một ví dụ:
A = [1 4 B = [1 2 3 4 5 6
2 1] 6 5 4 3 2 1
2 1 2 1 2 1
9 1 8 2 7 6]
Chúng ta có thể xóa các cột 2, 3, 5, 6 và hàng 2, 4 từ B để lấy A :
B = [1 2 3 4 5 6 [1 _ _ 4 _ _ [1 4 = A
6 5 4 3 2 1 --> _ _ _ _ _ _ --> 2 1]
2 1 2 1 2 1 2 _ _ 1 _ _
9 1 8 2 7 6] _ _ _ _ _ _]
Lưu ý rằng A vẫn là một hàm con của B nếu tất cả các hàng hoặc tất cả các cột của B được giữ lại (hoặc trên thực tế nếu A = B ).
Các thách thức
Bạn đoán nó Với số nguyên hai không trống ma trận A và B , xác định xem A là một submatrix của B .
Bạn có thể viết chương trình hoặc hàm, lấy đầu vào qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm và xuất kết quả qua tham số STDOUT (hoặc thay thế gần nhất), tham số trả về hàm hoặc tham số hàm (out).
Đầu vào có thể ở bất kỳ định dạng thuận tiện. Các ma trận có thể được đưa ra dưới dạng danh sách lồng nhau, chuỗi sử dụng hai dấu phân cách khác nhau, danh sách phẳng cùng với kích thước của ma trận, v.v, miễn là đầu vào không được xử lý trước. Bạn có thể chọn lấy B trước và A thứ hai, miễn là lựa chọn của bạn phù hợp. Bạn có thể giả sử rằng các yếu tố của ma trận là dương và nhỏ hơn 256.
Output nên truthy nếu A là một submatrix của B và falsy khác. Giá trị đầu ra cụ thể không nhất quán.
Luật golf tiêu chuẩn được áp dụng.
Các trường hợp thử nghiệm
Mỗi trường hợp thử nghiệm là trên một dòng riêng biệt A, B
,.
Trường hợp thật:
[[1]], [[1]]
[[149, 221]], [[177, 149, 44, 221]]
[[1, 1, 2], [1, 2, 2]], [[1, 1, 1, 2, 2, 2], [3, 1, 3, 2, 3, 2], [1, 1, 2, 2, 2, 2]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 7, 6], [7, 8, 9], [1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[228, 66], [58, 228]], [[228, 66], [58, 228]]
[[1, 2], [2, 1]], [[1, 2, 2], [2, 1, 2], [2, 2, 1]]
[[136, 196], [252, 136]], [[136, 252, 210, 196, 79, 222], [222, 79, 196, 210, 252, 136], [252, 136, 252, 136, 252, 136], [180, 136, 56, 252, 158, 222]]
Trường hợp giả
[[1]], [[2]]
[[224, 15]], [[144, 15, 12, 224]]
[[41], [150]], [[20, 41, 197, 150]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [7, 8, 9], [4, 5, 6]]
[[1, 2, 2], [2, 1, 2], [2, 2, 1]], [[1, 2], [2, 1]]
[[1, 2, 2], [2, 1, 2]], [[1, 2], [2, 1], [2, 2]]
[[1, 2], [3, 4]], [[5, 3, 4, 5], [2, 5, 5, 1], [4, 5, 5, 3], [5, 1, 2, 5]]
[[158, 112], [211, 211]], [[158, 211, 189, 112, 73, 8], [8, 73, 112, 189, 211, 158], [211, 158, 211, 158, 211, 158], [21, 158, 199, 211, 212, 8]]