题解 | #扫雷#有限状态机

扫雷

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

想用有限状态机解的,但是算法循环多了,导致超时

row,col = map(int,input().split())
minetb = [[0 for _ in range (col)] for _ in range(row) ]
state = 0
x,y=0,0
allstate = [[0,1],[1,0],[1,-1],[-1,1],[-1,0],[0,-1],[-1,-1],[1,1]]
for i in range(row):
    minetb[i] = list(str1 for str1 in input())
for i in range(row):
    for j in range(col):
        if(minetb[i][j] == '*' ):
            continue
        if(minetb[i][j]=='.'):
            minetb[i][j]=0
        count = 0
        for h in allstate:
            x= 0
            y= 0
            x=h[0]+i
            y=h[1]+j
            if(row>x>=0 and col>y>=0 ):
                if(minetb[x][y]=='*'):
                    minetb[i][j]+=1
for i in range(row):
    for j in range(col):
        print(minetb[i][j],end="")
    print()
                    
        
全部评论

相关推荐

神哥了不得:神哥来啦~有可能只是为了注册账号,这个平台必须发一个招聘才能注册成功的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务