解题思路:
整比较暴力,不过固定9阶方阵,时间不长

定义两个元素相同菌群矩阵,遍历第一个矩阵将结果记录到新的矩阵中


注意事项:
每天更新矩阵时用深拷贝copy.deepcopy(),保证两矩阵地址更不同,互不影响

参考代码:

import copy
m, day = map(int,input().split())
martix = [[0 for i in range(9)] for i in range(9)]
martix[4][4] = m
direction = [(-1,-1),(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1)]
martix1 = copy.deepcopy(martix)
for d in range(day):
    for i in range(9):
        for j in range(9):
            if martix[i][j] != 0:
                martix1[i][j] -= martix[i][j]
                martix1[i][j] += 2*martix[i][j]
                for dx, dy in direction: #八个方向
                    x, y = dx + i, dy + j
                    if 0 <= x <= 8 and 0 <= y <= 8:
                        martix1[x][y] += martix[i][j]
    martix = copy.deepcopy(martix1)#更新矩阵

for i in range(9):
    for j in range(9):
        print(martix[i][j], end = ' ')
    print()


点赞(1)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论