Tỷ phú Luky


Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Luky có một vùng đất lớn bên trong có những ngọn núi, nhằm mục đích phát triển du lịch và một phần giúp cho túi tiền của Luky càng ngày phình to nên ông đã mở ra dịch vụ thu phí leo núi trên các ngọn núi của ông. Do vùng đất của ông rất nhiều ngọn núi, rất khó trong việc một mình ông có thể quản lí nên ông đã thuê các người gác núi để canh gác trên các ngọn núi này thay ông.

Ông ta băn khoăn không biết sẽ cần bao nhiêu người gác núi nếu như ông ta muốn đặt 1 người gác núi trên đỉnh của mỗi núi. Ông ta có bản đồ của vùng đất là một ma trận gồm N \((1 \le N \le 900)\) hàng và M \((1 \le M \le 900)\) cột. Mỗi phần tử của ma trận là độ cao Aij so với mặt nước biển \((0 \le Aij \le 10,000)\) của ô \((i, j)\). Hãy giúp ông ta xác định số lượng đỉnh núi trên bản đồ.

Đỉnh núi là một 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 độ X không quá một và chênh lệch tọa độ \(Y\) không quá \(1\).

Input

  • Dòng 1: Hai số nguyên cách nhau bởi dấu cách: \(N\) và \(M\).
  • Dòng 2: \(N+1\) Dòng, dòng thứ \(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.

Output

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

Ví Dụ:

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

Comments

There are no comments at the moment.