HackDream Green 02-F: Minesweeper

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 256M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Cho 1 bảng vuông kích thước ~n~ x ~n~. Mỗi ô hoặc là ô trống (biểu diễn bằng ký tự ~X~), hoặc là ô có chứa bom (biểu diễn bằng ký tự ~O~). Giá trị của một ô được tính bằng số lượng bom có trong ~8~ ô kề cạnh hoặc kề đỉnh với ô đó.

Ví dụ cách tính giá trị ô dựa trên 8 ô xung quanh:

Một ô trống được coi là đặc biệt nếu nó thỏa mãn các điều kiện sau:

  • Không nằm trên viền của khung vuông.
  • Trong 4 ô kề cạnh, có chính xác 2 ô chứa bom, và 2 ô trống.
  • Trong 2 ô trống kề cạnh đó, có chính xác 1 ô có giá trị lẻ, 1 ô có giá trị chẵn.

Ví dụ đúng của điều kiện 4 ô kề cạnh:

Yêu cầu

Cho ~n~ và biểu diễn bảng vuông. Đếm số lượng ô đặc biệt.

Input

  • Dòng đầu tiên chứa số nguyên dương ~n~ ~(1≤n≤10^3)~.
  • ~n~ dòng sau, mỗi dòng chứa 1 xâu ký tự có độ dài ~n~ chỉ chứa 2 loại ký tự là ~X~ và ~O~ thể hiện trạng thái của từng ô.

Output

Một dòng duy nhất là kết quả bài toán.

Sample Input

5
OXXXX
XOOXX
OXOXO
OXOXO
XOXOO

Sample Output

1

Giải thích

Ô ~(3, 4)~ là ô đặc biệt.

Subtask

  • Có 50% số test ứng với 50% số điểm có ~1≤n≤10^2~;
  • 50% số test còn lại tương ứng với 50% số điểm không có giới hạn gì thêm.

Bình luận đầu tiên

Bình luận

Không có bình luận nào.