题解 | 扫雷

扫雷

https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd

n, m = map(int,input().split())
lei = []
for _ in range(n):
    l = list(input().strip())
    lei.append(l)
d = [(1,0),(1,1),(1,-1),(0,1),(0,-1),(-1,1),(-1,0),(-1,-1)]
for x in range(n):
    s = ''
    for y in range(m):
        if lei[x][y] == '*':
            s = s + '*'
        else:
            ge = 0
            for x1,y1 in d:
                lx = x + x1
                ly = y + y1
                if 0 <= lx < n and 0 <= ly < m:
                    if lei[lx][ly] == '*':
                        ge = ge + 1
            s = s + str(ge)
    print(s)

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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