蓝桥杯训练16——扫雷

n,m=map(int,input().strip().split())

matrix = [list(map(int, input().split())) for _ in range(n)]

def count_bfs():

directions=[(0,1),(0,-1),(1,0),(-1,0),(1,1),(-1,1),(-1,-1),(1,-1)]

result=[[0]*m for _ in range(n)]

for i in range(n):

for j in range(m):

if matrix[i][j]==1:

result[i][j]=9

else:

count=0

for dx,dy in directions:

nx=dx+i

ny=dy+j

if 0<=nx<n and 0<=ny<m and matrix[nx][ny]==1:

count+=1

result[i][j]=count

return result

result=count_bfs()

for i in range(n):#循环遍历输出

for j in range(m):

print(result[i][j],end=' ')

print()

相关推荐
互联网杂货铺9 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
鑫鑫向栄11 小时前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄11 小时前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯
枷锁—sha11 小时前
护网行动面试试题(2)
web安全·面试·职场和发展
鑫鑫向栄14 小时前
[蓝桥杯]堆的计数
数据结构·c++·算法·蓝桥杯·动态规划
緈福的街口14 小时前
【leetcode】3. 无重复字符的最长子串
算法·leetcode·职场和发展
多多*16 小时前
基于rpc框架Dubbo实现的微服务转发实战
java·开发语言·前端·redis·职场和发展·蓝桥杯·safari
每次的天空17 小时前
Android第十四次面试总结
android·面试·职场和发展