Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập bfsdfsbaovenongtrang

Bảo vệ nông trang

Dễ DFS BFSMảng hai chiều

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Nông trang có rất nhiều ngọn đồi núi, để bảo vệ nông trang nông dân John muốn đặt người canh gác trên các ngọn đồi này. Anh ta băn khoăn không biết sẽ cần bao nhiêu người canh gác nếu như anh ta muốn đặt \(1\) người canh gác trên đỉnh của mỗi đồi. Anh ta có bản đồ của nông trang là một ma trận gồm \(N\) hàng và \(M\) cột (\(1 < N \leq 700, 1 \leq M \leq 700\)). Mỗi phần tử của ma trận là độ cao \(H_{i,j}\) so với mặt nước biển (\(0 \leq H_{i,j} \leq 10000\)) của ô \((i,j)\). Hãy giúp anh ta xác định số lượng đỉnh đồi trên bản đồ.

Đỉnh đồi là \(1\) hoặc nhiều ô nằm kề nhau của ma trận có cùng độ cao được bao quanh bởi cạnh của bản đồ hoặc bởi các ô có độ cao nhỏ hơn. Hai ô gọi là kề nhau nếu độ chênh lệch giữa tọa độ hàng và tọa độ cột không quá \(1\) (tức là kề nhau theo 8 hướng).

Input

  • Dòng \(1\): Hai số nguyên cách nhau bởi dấu cách: \(N\) và \(M\).
  • Dòng \(2\) \(\ldots\) \(N + 1\): Dòng \(i+1\) mô tả hàng \(i\) của ma trận với \(M\) số nguyên cách nhau bởi dấu cách: \(H_{i,j}\).

Output

Một số nguyên duy nhất là số lượng đỉnh đồi.

Example

Test 1

Input
8 7
4 3 2 2 1 0 1
3 3 3 2 1 0 1
2 2 2 2 1 0 0
2 1 1 1 1 0 0
1 1 0 0 0 1 0
0 0 0 1 1 1 0
0 1 2 2 1 1 0
0 1 1 1 2 1 0
Output
3

Bình luận

Chưa có bình luận nào.