openjudge 1.8.15 细菌的繁殖与扩散

本文介绍了一个模拟细菌繁殖的算法实现,通过二维数组记录细菌的数量变化,使用方向数组进行裂变传播,确保每次裂变后细菌数量准确更新。

OpenJudge - 15:细菌的繁殖与扩散


解题思路:

1.由题可得,在一个9*9的矩阵中正中心有细菌,细菌每天都会裂变,此位置上会裂变为细菌数量的2倍,其他相邻的八个方向会裂变为相同的细菌数量,看到方向,可以想到会用方向数组来表示

2.还有一个关键信息叫细菌每次分裂完后就会死亡,在这里会带来一个问题,就是如果两个相邻的细菌格子,左边的后代裂变给右边后,右边的数量发生改变,从而无法判断右边的母体数量到底是多少,而且我们遍历的顺序是每行挨个遍历,有很多位置都会影响此位置的数量,所以为了简单处理,设置另一个数组b,来做结果数组

3.首先,将正中心位置赋值,表示细菌的数量a[5][5]=m,接下来开始遍历二维数组a,如果这个数组的位置不是0的话,那么利用方向数组,将八个方向都赋值,并且本身也赋值,即b[i][j]+=a[i][j]*2,b[x][y]+=a[i][j]记住还需要加上原本位置的数量,因为b是结果数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值