zoukankan      html  css  js  c++  java
  • 题解 P6056 【[加油武汉]SIR 模型】

    小蒟蒻的题解

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

    原本我是开一个数组来记录每天的结果,后来发现既然是只求第 (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;
    }
    

    逃(

  • 相关阅读:
    构建之法阅读笔记
    人月神话阅读笔记
    人月神话阅读笔记2
    人月神话阅读笔记
    第十周总结
    第九周总结
    进度日报10
    进度日报8
    进度日报7
    进度日报6
  • 原文地址:https://www.cnblogs.com/win10crz/p/12859653.html
Copyright © 2011-2022 走看看