## 译文1096：扫雷

时间限制：1秒内存限制：64MB提交：3446解决：1442

**译文描述**
```

扫雷你玩过扫雷吗？这个可爱的小游戏带有一定的操作系统，我们不记得它的名字。游戏的目标是找到所有地雷在M x N字段中的位置。游戏在一个正方形中显示一个数字，告诉您该正方形附近有多少个地雷。每个方格最多具有八个相邻方格。左侧的4 x 4字段包含两个地雷，每个地雷由一个``*''字符表示。如果我们通过上述提示号表示同一字段，那么我们将在右侧显示该字段：* ... ....。* .. .... * 100 2210 1 * 10 1110
```
**输入**
```
输入将包含任意数量的字段。每个字段的第一行包含两个整数n和m（0 <n，m $ \ le $ 100），分别代表该字段的行数和列数。接下来的n行中的每行都包含正好是该字段的m个字符。安全方块以``。''表示，矿用方块以``*''表示，两者均不带引号。 n = m = 0的第一条字段行表示输入的结尾，不应进行处理。
```
**输出**
```
对于每个字段，仅在一行上显示消息“字段#x：”，其中x代表从1开始的字段编号。接下来的n行应包含用``。''字符替换为数字的字段。那个广场附近的地雷。字段输出之间必须有一个空行。
```
**样例输入**

```python
4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0
```

**样例输出**

```python
Field #1:
*100
2210
1*10
1110

Field #2:
**100
33200
1*100
```


```
def f(temp,m,n,index):
    re=0
    if (index[0]-1)>=0 and (index[0]-1)<m:
        if temp[(index[0]-1)][index[1]]=='*':
            re+=1
    if (index[0]+1)>=0 and (index[0]+1)<m:
        if temp[(index[0]+1)][index[1]]=='*':
            re+=1
    
    if (index[0]-1)>=0 and (index[0]-1)<m and(index[1]-1)>=0 and (index[1]-1)<n :
        if temp[(index[0]-1)][index[1]-1]=='*':
            re+=1
    if (index[0]+1)>=0 and (index[0]+1)<m and(index[1]-1)>=0 and (index[1]-1)<n:
        if temp[(index[0]+1)][index[1]-1]=='*':
            re+=1
    if (index[1]-1)>=0 and (index[1]-1)<n:
        if temp[index[0]][index[1]-1]=='*':
            re+=1
    if (index[0]-1)>=0 and (index[0]-1)<m and(index[1]+1)>=0 and (index[1]+1)<n :
        if temp[(index[0]-1)][index[1]+1]=='*':
            re+=1
    if (index[0]+1)>=0 and (index[0]+1)<m and(index[1]+1)>=0 and (index[1]+1)<n:
#         print('i',(index[0]+1),'j',index[1]+1)
        if temp[(index[0]+1)][index[1]+1]=='*':
            re+=1
    if (index[1]+1)>=0 and (index[1]+1)<n:
#         print(n,'i',(index[0]),'j',index[1]+1)
        if temp[index[0]][index[1]+1]=='*':
            re+=1
    return re
count=1
while True :
    m,n =map(int ,input().strip().split())
    if m==n==0:
        break
    temp=[]
    for i in range(m):
        temp.append(list(input()))
#     print(temp)
    print('Field #'+str(count)+':')
    count+=1
    for i in range(m):
        for j in range(n):
            if temp[i][j]=='*':
                continue
            else:
                temp[i][j]=str(f(temp,m,n,(i,j)))
#         print(temp[i])
        print(''.join(temp[i]))
    print()
```

    4 4 
    *...
    ....
    .*..
    ....
    Field #1:
    *100
    2210
    1*10
    1110
    
    0 0