题解 | 扫雷
扫雷
https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd
def conv(a,i,j):
res=0
for ii in range(3):
for jj in range(3):
res+=a[i+ii-1][j+jj-1]
return res
n,m=map(int,input().split())
a=[[0 for _ in range(m+2)] for _ in range(n+2)]
# print(a)
for i in range(1,n+1):
ls=input()
for j in range(1,m+1):
if ls[j-1]=='.':
a[i][j]=0
else:
a[i][j]=1
# print(a)
for i in range(1,n+1):
for j in range(1,m+1):
if a[i][j]==1:
print('*',end="")
else:
print(conv(a,i,j),end="")
print()
扩充边界然后定义一个卷积来做


查看9道真题和解析