链接:
F. Mosquito Multiplication
Have you ever wondered why there are so many mosquitos in wet environments? One of the reasons is that adult female mosquitos can lay as many as hundreds of eggs. Even if most of them do not (fortunately!) survive, it is said that a single pair of mosquitos can generate a population of thousands in just a couple of weeks. Let us have a closer look at these numbers. The mosquito life cycle includes four stages: egg, larva, pupa, and adult. For simplicity, we will make several assumptions that are not quite true in the nature: The egg stage lasts less than one day, and all the other stages are one week long. Each mosquito lives as a larva for the first week, the second week “hibernates” in the form of a pupa, and finally, the third week lives as an adult mosquito. At the end of its three-week life, each mosquito lays eggs and dies.
To simplify things even further, we will assume that the transformation from one life stage into another always happens on Sunday. Each Sunday, the following things happen:
• An adult mosquito lays E eggs and dies. Within a day, one larva hatches from each egg.
• Some of the larvae hatched from egg the last Sunday were not strong enough and died or got eaten. Only every R-th larva will transform into a pupa on Sunday.
• An adult mosquito emerges from every S-th pupa, all other pupae dry.
For example, if there are 5 pupae and every 3-rd of them survives, there will be 1 mosquito left. Out of 6 pupae, two adult mosquitos emerge.
In the first week, there are M mosquitos, P pupae and L larvae. Calculate how many mosquitos will there be after NSunday transformations. Of course, we are counting only living adult mosquitos, not the dry dead bodies.
Input
The input consists of several instances, each instance per one line. Each line contains seven integers M, P, L, E, R, S, Nseparated by space. M, P and L are the numbers of mosquitos, pupae, and larvae, respectively, in the first week. You may assume that 0 ≤ M,P,L ≤ 100 000, 0 ≤ E ≤ 100, 1 ≤ R, S ≤ 10, and 1 ≤ N ≤ 1000. E is the number of eggs laid by one mosquito, R and S specify the survival rates of larvae and pupae, and N is the number of weeks.
Output
For each input instance, output a single line containing an integer number C, giving the count of mosquitos after the N-th Sunday.
You may assume that the number of mosquitos during each of the first N weeks will not exceed 1 000 000.
Sample Input
10 20 40 4 2 2 10 144 55 8 0 1 9 4 10 10 10 2 3 2 6 10 20 40 86 9 9 999
Sample Output
10 0 1 10
PS:
code:
/**
题意:
蚊子有四个生命阶段: egg, larva, pupa, and adult【孵卵-幼体-蛹-成年】
从 egg 到 larva 时间不到一天可以忽略不计
从 larva 到 pupa 要一周,存活率为 R 【R 个活一个。。。】
从 pupa 到 adult 要一周, 存活率为 S 【S 个活一个。。。】
adult 活了一周后马上生蛋 E 个,生完了蛋的成年的蚊子马上死掉。
为了简化问题,把蚊子的周期转换全部设定在每周的周日。
输入第一行: M, P, L, E, R, S, N
分别代表:开始有
M个成年的蚊子;
P 个蛹 ;
L 个幼体 ;
每个成年的蚊子可以生 E 个蛋;
R 和 S 代表上面说的存活率。。。
N表示最终过了 N 周
问你第 N 周周日有多少个活着的成年的蚊子。。。
*/
#include<stdio.h>
int main()
{
int m,p,l,e,r,s,n;
while(scanf("%d%d%d%d%d%d%d", &m,&p,&l,&e,&r,&s,&n) != EOF)
{
int m1,p1,l1;
for(int i = 1; i <= n; i++)
{
l1 = m*e;
p1 = l/r;
m1 = p/s;
m = m1; p = p1; l = l1;
}
printf("%d\n", m);
}
return 0;
}