题解 | 扫雷

扫雷

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()



扩充边界然后定义一个卷积来做

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务