参考代码:

arr = [[0] * 9 for _ in range(9)]
temp = [[0] * 9 for _ in range(9)]#辅助列表,接收变化后的数据
dx = (-1,0,1,0,-1,-1,1,1)//模拟八个方向
dy = (0,-1,0,1,-1,1,-1,1)

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

arr[4][4] = m
for day in range(1, n + 1):#n次操作
    for i in range(9):
        for j in range(9):
            if arr[i][j] > 0:
                temp[i][j] += arr[i][j] * 2
                for d in range(8):
                    tx, ty = i + dx[d], j + dy[d]
                    temp[tx][ty] += arr[i][j]
                arr[i][j] = 0#及时清零,方便下一次操作中接收数据
    arr, temp = temp, arr#这一次的操作完成,将接受的列表和原列表交换

for i in range(9):
    for j in range(9):
        print(arr[i][j], end=" ")
    print()


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论