Notice
Chào mừng bạn đến với OREOJ

Minesweeper

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 5.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Croatian Open Competition in Informatics (COCI)
Dạng bài
Ngôn ngữ cho phép
Assembly, AWK, C, C++, C++20, Go, Java, Kotlin, Pascal, Perl, PyPy, Python, Rust, Scratch, SED, Text

Marko là một sinh viên đại học chăm chỉ, nhưng vì nhiều đêm thức khuya học bài nên lên lớp cậu thường vừa đau đầu vừa đau bụng. Vì cậu cũng là một sinh viên rất giỏi, các bài giảng đôi khi trở nên quá dễ, nên thay vì nghe giảng cậu lại chơi trò ~Minesweeper~ yêu thích. Chơi mãi rồi cũng chán, Marko quyết định tự nghĩ ra một phiên bản riêng của trò chơi này.

Trong phiên bản của Marko, ngay từ đầu cậu đã biết vị trí của toàn bộ ~k~ quả bom trên một bảng có ~n~ hàng và ~m~ cột. Mỗi ô chứa nhiều nhất ~1~ quả bom.

Nhiệm vụ của Marko là điền vào mỗi ô không có bom số lượng bom nằm trong ~8~ ô xung quanh nó. Những ô chứa bom được đánh dấu bằng ký tự ~\texttt{B}~. Hãy in ra ma trận thu được theo đúng luật của Marko.

Input

Dòng đầu tiên chứa ba số nguyên dương ~n~, ~m~, ~k~ theo mô tả đề bài, với ~1 \le n, m \le 500~ và ~1 \le k \le n \cdot m~.

~k~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~r_i~ và ~s_i~, với ~1 \le r_i \le n~ và ~1 \le s_i \le m~, là hàng và cột của một quả bom.

Output

In ra ~n~ dòng. Trên mỗi dòng, in ~m~ ký tự cách nhau bởi dấu cách, biểu diễn ma trận được tạo theo luật của Marko.

Chấm điểm

  • Subtask ~1~ (~15~ điểm): ~n = 1~
  • Subtask ~2~ (~18~ điểm): ~k = 1~
  • Subtask ~3~ (~17~ điểm): Không có ràng buộc bổ sung.

Sample Input ~1~

1 6 1
1 3

Sample Output ~1~

0 1 B 1 0 0

Sample Input ~2~

3 3 3
1 1
2 3
1 3

Sample Output ~2~

B 3 B
1 3 B
0 1 1

Giải thích

  • Ví dụ ~1~: Ô ở cột ~3~ chứa bom nên được ghi ~\texttt{B}~. Hai ô ở cột ~2~ và cột ~4~ kề với quả bom đó nên cùng mang giá trị ~1~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.