Loading Now

Rot All Apple

Bình có 1 cái thùng bên trong gồm các ô để đặt những quá táo, các ô được xếp đều theo n hàng và m cột bên trong thùng. Trong thùng tất cả các ô đều đang chứa táo nhưng thật không may có một số ô chứa những quả táo bị hỏng. Nếu một quả táo bị hỏng thì cứ sau 1 ngày nó sẽ làm các quả táo ở gần nó hỏng theo (nếu vị trí i, j1 quả táo hỏng thì sau 1 ngày các quả táo ở vị trí (i + 1, j), (i - 1, j), (i, j +1), (i, j - 1) cũng sẽ bị hỏng theo). Cho biết vị trí của các quả táo hỏng trong thùng và trong thùng luôn có ít nhất 1 quả táo bị hỏng, hãy tính số ngày ít nhất để tất cả các quả táo đều bị hỏng.
Ví dụ

  • Với n = 2, m = 2, positions = [[1, 2]], output sẽ có dạng rotAllApple(n, m, positions) = 2.
    Giải thích:
    • positions = [[1, 2]] với ý nghĩa quả táo hỏng đang nằm ở hàng 1 cột 2
    • Ngày thứ nhất các quả táo ở vị trí [1, 1], [2, 2] sẽ bị quả táo ở vị trí [1, 2] làm hỏng.
    • Tới ngày thứ 2 quả táo ở vị trí [2, 1] cũng sẽ bị hỏng.

Đầu vào/Đầu ra

  • [Thời gian chạy] 0.5s
  • [Đầu vào] Integer n, m
    1 <= n, m <= 200
  • [Đầu vào] Matrix of integer positions
    1 <= positions.size <= 200
  • [Đầu ra] Integer

Post Comment

Contact