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

· · 题解

第一次看到这个入门题又有β又有γ什么乱七八糟的系数,

我还以为这个题投错了难度。

我再看一遍才发现这个题是真的水,

那些希腊字母都是骗蒟蒻的

没看懂的建议再读一遍。

点我回看

下面我们把这道题翻译成人话

#include>iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<cstdlib>
using namespace std;
#define Kn 1000
#define Maxx 0x7fffffff
#define Minn -0x7fffffff
#define PI 3.1415926
int S,I,n,R;//R是恢复人数 
double beta,gamma;
int main()
{
    scanf("%d%d%d%lf%lf",&S,&I,&n,&beta,&gamma);
    while(n>0) //经过n天
    {
        n--;//新一天       
        int Si=ceil(beta*S*I);
        int Ii=ceil(gamma*I);
        R+=Ii; 
        if(Si>=S) //特判,所有人都被感染(坑)
           I+=S-Ii,S=0;
        else
           I+=Si-Ii,S-=Si; 
    }    
    printf("%d %d %d\n",S,I,R);
    return 0;//完美结束 
    //如果不是有特判这道题真的一点难度都没有(滑稽) 
}

衷心提示:您直接复制肯定是过不了的

(喜欢的话请把右上角那个东西点亮吧)

管理员大大求过QAQ