题解 | 扫雷

扫雷

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#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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