首页 > 其他 > 详细

题解 P6056 【[加油武汉]SIR 模型】

时间:2020-05-09 20:47:10      阅读:53      评论:0      收藏:0      [点我收藏+]

小蒟蒻的题解

作为一个数渣,我第一次看这题时,感觉好难。再强压着再读一遍,才发现是道十足的大水题。

原本我是开一个数组来记录每天的结果,后来发现既然是只求第 \(n\) 天的,那就用两个变量相互迭代就可以了,节省了空间。

#include<bits/stdc++.h>
using namespace std;
int m,n,s,i,r;  //如题,m则是总人数,r是治愈人数。 
long double b,y;
int sjx,hsy;  //辅助迭代的变量。 
int main()
{
	cin>>s>>i>>n>>b>>y;
	m=s+i;
	for(int j=1;j<=n;j++)
	{
		sjx=ceil(b*s*i);
		hsy=ceil(y*i);
		if(sjx>s)    //当所有的易感染者都被感染了,就不能再多了。 
			sjx=s;
		r=r+hsy;       
		i=i-hsy+sjx;
		s=s-sjx;      //迭代的精髓
	}
	cout<<s<<" "<<i<<" "<<r;
	return 0;
}

逃(

题解 P6056 【[加油武汉]SIR 模型】

原文:https://www.cnblogs.com/win10crz/p/12859653.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!