求助一本通题目
查看原帖
求助一本通题目
703085
Myosotis_alpestris楼主2023/3/26 17:17

科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过x个月产卵),问过z个月以后,共有成虫多少对?0≤x≤20,1≤y≤20,X≤z≤50。

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
int num,ans;
int a[50][3];//0代表完全成虫总数,1代表卵,2代表无法生育的成虫
int main()
{
	
	a[1][0]=1;
	int x,y,z,k=1;
	cin>>x>>y>>z;
	for  (int i=x+1;i<=z+1;i++)
	{
		
		if(i>2)
		{
			a[i][2]+=a[i-2][1];//卵变为成虫 
		}
		a[i][0]+=a[i-1][2];//有些成虫变得可以生育了 
		a[i][0]+=a[i-1][0];//成虫过渡到下一个月 
		if(k==x)
		{
			a[i][1]+=a[i-x][0]*y;//产卵 
			k=0;
		}
		k++;
		cout<<a[i][0]<<" "<<a[i][1]<<endl;
	} 
	cout<<a[z+1][0]<<endl;
	return 0;
}
2023/3/26 17:17
加载中...