(lấy cảm hứng từ câu hỏi này về Toán học)
Các định nghĩa
Cho n x n
ma trận vuông A , chúng ta có thể gọi nó invertible
nếu tồn tại một số n x n
ma trận vuông B sao cho AB = BA = I n , với I n là ma trận nhận dạng có kích thước n x n
(ma trận có đường chéo chính 1
s và bất cứ thứ gì khác 0
) và AB và BA đại diện cho phép nhân ma trận thông thường (tôi sẽ không đi sâu vào vấn đề đó ở đây - hãy tham gia một lớp đại số tuyến tính).
Từ đó, chúng ta có thể gọi một m x n
ma trận C totally invertible
nếu mọi k x k
hàm con (được định nghĩa bên dưới) của C không thể nghịch đảo cho tất cả k > 1
, k <= (smaller of m,n)
.
Một hàm con được định nghĩa là ma trận kết quả sau khi xóa bất kỳ số lượng hàng và / hoặc cột nào khỏi ma trận gốc. Ví dụ, 3x3
ma trận C dưới đây có thể được chuyển đổi thành một 2x2
hàm con C ' bằng cách loại bỏ hàng đầu tiên 1 2 3
và cột giữa 2 5 8
như sau:
C = [[1 2 3]
[4 5 6] --> C' = [[4 6]
[7 8 9]] [7 9]]
Lưu ý rằng có nhiều khả năng Subatrix khác nhau, ở trên chỉ là một ví dụ. Thử thách này chỉ liên quan đến những người mà Subatrix kết quả là một k x k
ma trận vuông .
Các thách thức
Đưa ra một ma trận đầu vào, xác định xem nó hoàn toàn không thể đảo ngược hay không.
Đầu vào
- Một ma trận kích thước duy nhất
m x n
, trong bất kỳ định dạng phù hợp . - Không mất tính tổng quát, bạn có thể giả sử
m <= n
hoặcm >= n
, bất kỳ người chơi gôn nào cho mã của bạn và lấy đầu vào theo cách đó (nghĩa là bạn có được một hoạt động chuyển đổi miễn phí nếu bạn muốn nó). - Kích thước ma trận đầu vào sẽ không nhỏ hơn
3 x 3
và không lớn hơn ngôn ngữ của bạn có thể xử lý. - Ma trận đầu vào sẽ chỉ bao gồm các giá trị số từ Z + ( số nguyên dương ).
Đầu ra
- Một truthy / falsey giá trị cho dù ma trận đầu vào là hoàn toàn khả nghịch.
Những quy định
- Một chương trình đầy đủ hoặc một chức năng được chấp nhận.
- 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.
Các ví dụ
Truthy
[[1 2 3]
[2 3 1]
[3 1 2]]
[[2 6 3]
[1 12 2]
[5 3 1]]
[[1 2 3 4]
[2 3 4 1]
[3 4 1 2]]
[[2 3 5 7 11]
[13 17 19 23 29]
[31 37 41 43 47]]
Falsey
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 6 2 55 3]
[4 5 5 5 6]
[9 3 7 10 4]
[7 1 8 23 9]]
[[2 3 6]
[1 2 12]
[1 1 6]]
[[8 2 12 13 2]
[12 7 13 12 13]
[8 1 12 13 5]]
6
ở trong góc chứ không phải a 7
. Lỗi chính tả vụng về.
2 6 3; 1 12 2; 5 3 1
đâu?