Minesweeper


Submit solution

Points: 1
Time limit: 2.0s
Memory limit: 977M

Author:
Problem type

Minesweeper là một trò chơi giải đố trên máy tính dành cho một người chơi. Trò chơi bao gồm một "bãi mìn" là những ô vuông có thể chứa "mìn", và người chơi cần phải dựa vào những con số thể hiện số mìn xung quanh để mở hết tất cả những ô vuông trống mà không kích nổ quả mìn nào.

Luật chơi của trò dò mìn như sau:

  • Người chơi khởi đầu với một bảng ô vuông trống thể hiện "bãi mìn".
  • Click chuột vào một ô vuông trong bảng. Nếu không may trúng phải ô có mìn (điều này thường xảy ra với người mới chơi) thì trò chơi kết thúc. Ngược lại, nếu ô đó không có mìn, một vùng các ô sẽ được mở ra cùng với những con số. Số trên một ô là lượng mìn trong 8 ô nằm quanh với ô đó.
  • Nếu chắc chắn một ô có mìn, người chơi có thể đánh dấu vào ô đó với hình lá cờ bằng cách click chuột phải.
  • Nếu những ô lân cận của một ô đã có đủ số mìn mà vẫn còn các ô trống khác thì những ô đó không có mìn.
  • Trò chơi kết thúc với phần thắng dành cho người chơi nếu mở được tất cả các ô không có mìn.[1]

Nhóm bài tập lớn của thầy Dinh_Tung đang chuẩn bị làm trò chơi dò mìn đơn giản để chuẩn bị thuyết trình trước lớp. Nhóm đã tạo ra 1 bảng ma trận gồm \(n\) hàng và \(m\) cột, rồi sau đó đánh dấu các quả bomb vào trong bảng. Nhưng trong khi tạo các con số thì có đôi chút trục trặc. Bạn hãy giúp nhóm tạo ra các con số gợi ý trong bảng để đẩy kịp tiến độ bài tập nhé.

Đầu vào

Dòng đầu gồm 2 số nguyên \(n\) hàng và \(m\) cột

\(n\) dòng tiếp theo, mỗi dòng chứa \(m\) số chỉ bao gồm hai số 0 và -1. Số 0 biểu thị là ô không có bomb, số -1 biểu thị ô đó có bomb

Đầu ra

Bảng ma trận của trò chơi

Ví dụ

Đầu vào

5 5
 0  0 -1  0  0
 0  0  0 -1  0
 0  0  0  0  0
 0  0  0  0  0
-1  0  0  0  0

Đầu ra

 0  1 -1  2  1
 0  1  2 -1  1
 0  0  1  1  1
 1  1  0  0  0
-1  1  0  0  0

Comments

There are no comments at the moment.