class
GFG
{
static
int
countSurvivors(String mat[],
int
row,
int
col)
{
int
i, j, count =
0
;
for
(i =
0
; i < row; i++)
{
for
(j =
0
; j < col; j++)
{
if
(mat[i].charAt(j) >
'0'
&& mat[i].charAt(j) <=
'9'
)
{
int
radius = mat[i].charAt(j) -
'0'
;
int
iMin = Math.max(i - radius,
0
);
int
iMax = Math.min(i + radius, row -
1
);
int
jMin = Math.max(j - radius,
0
);
int
jMax = Math.min(j + radius, col -
1
);
for
(
int
k = iMin; k <= iMax; k++)
{
char
C [] = mat[k].toCharArray();
for
(
int
l = jMin; l <= jMax; l++)
{
C [l] =
'*'
;
}
String s =
new
String(C) ;
mat[k] = s ;
}
}
}
}
for
(i =
0
; i < row; i++)
for
(j =
0
; j < col; j++)
if
(mat[i].charAt(j) ==
'P'
)
count++;
return
count;
}
public
static
void
main(String []args)
{
String mat[] = {
"P***"
,
"****"
,
"2**P"
,
"****"
};
int
row = mat.length ;
int
col = mat[
0
].length();
System.out.println(countSurvivors(mat, row, col));
}
}