Đây là một câu hỏi phỏng vấn:Tìm một thuật toán hiệu quả cho một hoạt động ma trận
Đối với một ma trận, chúng ta định nghĩa một hoạt động khi chúng ta thêm từ 1 tới một mục nhập, tất cả các mục xung quanh (lên, xuống, bên trái, bên phải) cũng sẽ được thêm vào bởi 1. Cho một ma trận dương, tìm một thuật toán để xác định xem ma trận có thể được xây dựng từ ma trận không bằng cách sử dụng thao tác này hay không.
Thuật toán hiệu quả để giải quyết câu hỏi là gì?
Điều tôi có thể nghĩ là sử dụng backtracking để thử mọi kết hợp có thể, tuy nhiên điều này chắc chắn không hiệu quả. Câu hỏi này giống như trò chơi Tắt đèn, nhưng nó không phải là 0/1 ở đây mà làm cho phức tạp hơn.
Cảm ơn.
Edit:
Ví dụ:
3 3 can be constructed from 0 0 -> 1 1 -> 2 2 -> 3 3
1 2 0 0 1 0 1 1 1 2
Điều gì xảy ra, nếu tôi nhấn cột hoặc hàng đầu tiên hoặc cuối cùng: Gói hoặc cắt? –
@EugenRieck Nó cắt – Rannnn
Ví dụ của bạn là không thể: 1/1/1/1 không thể được tạo từ ma trận 0 ... –