原题链接:细菌的繁殖与扩散
解题思路:
整比较暴力,不过固定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()
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复