【题目描述】金猪大家庭主要由母猪构成的小母猪第二年就可以生2只小母猪和2只小公猪第三年开始每年可以生4只小母猪和4只小公猪;小公猪在第二年就要被赶出大家庭;猪的寿命只有六年。目前一个新的金猪大家庭正在形成:一只小母猪自立门户创建自己的金猪大家庭。【输入】只有一行且只有一个正整数:n1≤n≤35。【输出】只有一行且只有一个正整数:第n年金猪大家庭的成员数。【输入样例】3【输出样例】19 用
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int dp[n+1]; // dp[i]表示第i年金猪大家庭的成员数
dp[1] = 1; // 第一年只有一只小母猪
dp[2] = 3; // 第二年有一只小母猪和两只小公猪
for (int i = 3; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2]*2; // 第i年的成员数等于第i-1年的成员数加上第i-2年的小母猪数量乘以2(每只小母猪可以生2只小母猪和2只小公猪)
}
cout << dp[n] << endl;
return 0;
}
原文地址: http://www.cveoy.top/t/topic/iovB 著作权归作者所有。请勿转载和采集!