题解 | 扫雷
扫雷
https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd
n,m=map(int,input().split())
n=n+2
m=m+2
num1=[[ '.' for _ in range(m)]for _ in range(n)]#用放雷的字符盘
num2=[[ 0 for _ in range(m)]for _ in range(n)]#统计九宫格雷数字盘
def nine( a, b):
return num2[a-1][b-1]+num2[a-1][b]+num2[a-1][b+1]+num2[a][b-1]+num2[a][b+1]+num2[a+1][b-1]+num2[a+1][b]+num2[a+1][b+1]
for i in range(1,n-1):
s=input()
j=0
for s1 in s:
j +=1
if s1=='*':
num1[i][j]='*'
num2[i][j]=1
#替换为输出棋盘
for a in range(1,n-1):
for b in range(1,m-1):
if num1[a][b] !='*':
num1[a][b]=str(nine(a,b))
print(num1[a][b],end="")
print()
#python3#
腾讯成长空间 6074人发布