using
System;
class
GfG
{
static
int
MAX = 100;
static
int
countCavities(
int
[,]a,
int
n)
{
int
[,]A =
new
int
[n + 2, n + 2];
int
coun = 0;
for
(
int
i = 0; i < n + 2; i++)
{
for
(
int
j = 0; j < n + 2; j++)
{
if
((i == 0) || (j == 0) || (i == n + 1) || (j == n + 1))
A[i, j] =
int
.MaxValue;
else
A[i, j] = a[i - 1, j - 1];
}
}
for
(
int
i = 1; i <= n; i++)
{
for
(
int
j = 1; j <= n; j++)
{
if
((A[i, j] < A[i - 1, j]) && (A[i, j] < A[i + 1, j]) &&
(A[i, j] < A[i, j - 1]) && (A[i, j] < A[i, j + 1]) &&
(A[i, j] < A[i - 1, j - 1]) && (A[i, j] < A[i + 1, j + 1]) &&
(A[i, j] < A[i - 1, j + 1]) && (A[i, j] < A[i + 1, j - 1]))
coun++;
}
}
return
coun;
}
public
static
void
Main(String[] args)
{
int
[,]a =
new
int
[,]{{ 4, 5, 6 }, { 7, 1, 5 }, { 4, 5, 6 }};
int
n = 3;
Console.WriteLine(countCavities(a, n));
}
}