题目描述
科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过 x 个月后,每个月产 y 对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过 x个月产卵),问过 z个月以后,共有成虫多少对?
输入格式
共一行,三个整数,分别为x,y,z 。
输出格式
共一行一个数,表示过 z个月后,共有几对成虫。
输入输出样例
输入 #1
1 2 8
输出 #1
37
说明/提示
对于100%的数据,0<x≤20,1≤y≤20,x≤z≤50。
#include<bits/stdc++.h>
using namespace std;
long long c[1000005],r[1000005],x,y,z;
int main() {
cin>>x>>y>>z;
for (int i=0;i<=x-1;++i) {
c[i]=1;
r[i]=0;
}
c[x]=1,r[x]=y;
for (int i = x + 1; i <= z; ++i) {
r[i]=c[i-x]*y;
c[i]=c[i-1]+r[i - 2];
}
cout<<c[z];
}
喜欢的话就一键三连吧