最近病毒肆虐,科学家为了研究病毒的传播轨迹,需要设计一套简易的传播模型。
在一张M∗N地图中,包含墙体,空地,已感染的人(不戴口罩),已感染的人(戴口罩),未感染的人(不戴口罩),未感染的人(戴口罩)。科学家会设置一些危险系数,以及感染阈值。然后观察未感染人群大概多少天以后会被感染。
位置含义的编码如下:
在一个M∗N的地图中,包含墙体、空地、已感染和未感染的人(分别戴或不戴口罩)。病毒的传播模型需要根据感染者的危险系数(戴口罩与否影响系数大小)来计算传播轨迹,危险系数会随距离衰减,且被墙体阻隔。未感染的人若所处位置的危险系数大于等于其感染阈值,则会在第二天被感染,并影响周围区域。输入包括地图尺寸M和N,以及戴口罩和不戴口罩的危险系数和感染阈值,接着是地图数据。输出为每个格子的状态:如果是空地或墙体,输出−1;如果初始已感染,输出0;如果被感染,输出被感染的天数;否则输出−1。
我们不难发现,整个过程就是,每天会有若干个新增的感染人数。每次对新增的感染人数,我们更新危险系数矩阵。然后对于更新后的危险系数矩阵,我们再检查新增感染,如此往复。
所以思路是: