蝴蝶繁殖
蝴蝶繁殖
题目描述
在一个神秘的森林中某种蝴蝶化茧成蝶繁殖的过程为:
每对蝴蝶过x个月产y对卵,每对卵要过两个月长成蝴蝶。
假设每个蝴蝶都不死的情况下,第一个月只有一对蝴蝶,且卵长成蝴蝶后的第一个月不产卵(过x个月产卵),问过z个月以后,共有多少对蝴蝶?
输入
x,y,z的数值
输出
过z个月以后,共有多少对蝴蝶。
样例输入
content
1 2 8
样例输出
content
37
提示
0=<x<=20,1<=y<=20,x=<z<=50
题目中我们得知x月产y对卵,问z个月后有多少对蝴蝶?
dp方程为:
if(i>=x+2&&i<=z+2) dp[i]=dp[i-1]+dp[i-x-2]*y;
代码
#include <bits/stdc++.h>
using namespace std;
long long dp[60];
int x,y,z;
int main() {
cin>>x>>y>>z;
for(int i=0; i<x+2; i++) {
dp[i]=1;//前2个月 (0 1 2)初始值
}
for(int i=x+2; i<=z+2; i++) {
dp[i]=dp[i-1]+dp[i-x-2]*y;//dp方程
}
cout<<dp[z];//输出过z个月后蝴蝶的对数。
return 0;
}
小编蒟蒻一个,有什么问题请大佬不惜赐教Orz
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器