近期针对新型冠状病毒的肆虐,我国各地都实施了严厉的疫情防控措施。
而全民大隔离可以说是对付疫情的关键手段。
身为一名小码农,本人在将自己隔离在家的日子里,脑海中很自然的就涌现出了“用隔离法终止冠状病毒传播”的代码实现。
void terminate_coronavirus_spread(void)
{
uint64_t infected_num_last_day;
uint64_t infected_num_current;
int i;
/* 启动隔离措施,并获取隔离措施实施当天冠状病毒感染者数量。 */
start_isolation();
infected_num_last_day = get_current_infected_num();
/* 等待首个感染者数量0增长的日子出现。 */
WAIT_FOR_ZERO_INCREACEMENT_DAY:
sleep_one_day();
infected_num_current = get_current_infected_num();
if (infected_num_current > infected_num_last_day) {
infected_num_last_day = infected_num_current;
goto WAIT_FOR_ZERO_INCREACEMENT_DAY;
}
/* 冠状病毒潜伏期为14天, 再等13天,如果感染者数量均为0增长就可以了。 */
for (i=1; i<=13; i++) {
sleep_one_day();
infected_num_current = get_current_infected_num();
if (infected_num_current > infected_num_last_day) {
infected_num_last_day = infected_num_current;
goto WAIT_FOR_ZERO_INCREACEMENT_DAY;
}
}
/* 病毒传播成功消除。*/
return;
}