3
成为流行病学家!
挑战 您必须创建一个简单的模型来说明疾病如何在一群人中传播。 规则与要求 模型必须是1000 x 1000 2D数组,每个元素都是不同的人。 用户必须使用argv输入三个变量:传播的可能性(某人感染他人的可能性),突变的机会以及模拟应运行的周期。 在第一阶段(t=0),应随机选择四个人并感染该疾病。 该疾病的行为方式受以下规则支配: 该疾病只能在水平和垂直方向移动,移动到隔壁的人。 每个人感染持续3次。您可能没有考虑到免疫缺陷。 一个人被感染三遍之后,他们便会免疫,无法再次感染。 该疾病容易发生突变,使以前免疫的人容易感染这种新的突变疾病。变异的疾病具有与原始疾病完全相同的特征,并遵循相同的规则。 如果发生突变,则整个疾病不会改变,仅在传播时改变特定的“小包”即可。 一旦一个人被一种病毒感染,在当前的感染过去之前,他们无法再次被感染。 如果一个人被感染,他们从感染期开始到结束都具有传染性。 没有免疫力的水平-一个人是否免疫。 要停止内存过载,最大限制为800个突变。 在指定的周期数结束时,应输出结果。 结果必须为1000 x 1000的网格,以显示哪些人被感染,哪些人未被感染。可以将其输出为文本文件,图像文件或图形输出(其中#FFFFFF是健康人,而#40FF00是感染人)。 请在您的答案中包括语言名称和运行它的命令。 获奖 在我的计算机上运行的最快的代码胜出。时间将通过以下Python代码来衡量: import time, os start = time.time() os.system(command) end = time.time() print(end-start) 请注意,运行此脚本时,我将使用以下默认值: Probability of transmission = 1 Chance of mutation = 0.01 Number of …