Problem10026--朋友圈 III

10026: 朋友圈 III

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

设同学们都处于一个 $n\times m$ 的方格矩阵内,每个同学占有一个小方格,但是这些同学被分成两类,第一类是主动的(用 “*” 表示),第二类 是被动的(用 “.” 表示)。
规定 1:主动同学(用 “*” 表示)不允许认识其他主动同学(用 “*” 表示),只能认识被动同学(用 “.” 表示);
规定 2:如果两个同学所在小方格存在公共边,则两个同学视为相邻; 
规定 3:如果一个主动同学 A 有相邻的被动同学 B,则与 B 相邻的被动同学 C,以及与 C 相邻的被动的同学 D,……,都可以被 A 认识。
请你求出每个主动同学的朋友圈人数(含自己)

Input

第一行包含两个整数 $n,m\ (1 ≤ n,m ≤ 2,000)$。
接下来 $n$ 行,每行包含 $m$ 个字符:“*” 表示主动同学,“.” 表示被 动同学。

Output

输出一个 n 行 m 列的字符矩阵,其中第 i 行第 j 列的字符对应给定矩阵中第 i 行第 j 列的小方格。
如果该小方格为被动同学,则输出字符为 “.”,如果该小方格为主动 同学,则输出字符为该主动同学的朋友圈人数(含自己)对 10 取模后的结果。

Sample 1 Input

3 3
*.*
.*.
*.*

Sample 1 Output

3.3
.5.
3.3
(1,1) 的朋友圈有 (1,1), (1,2), (2,1)。
(2,2) 的朋友圈有 (2,2), (1,2), (2,1), (2,3), (3,2)。

Sample 2 Input

4 5
**..*
..***
.*.*.
*.*.*

Sample 2 Output

46..3
..732
.6.4.
5.4.3
(4,5) 的朋友圈有 (4,5), (3,5), (4,4)。

Source/Category