BNU 26584 Mosquito Multiplication【数蚊子】

链接:

http://www.bnuoj.com/bnuoj/problem_show.php?pid=26584

http://www.bnuoj.com/bnuoj/contest_show.php?cid=2318#problem/25692


F. Mosquito Multiplication

Time Limit: 1000ms
Case Time Limit: 1000ms
Memory Limit: 65536KB
64-bit integer IO format:  %lld      Java class name:  Main
Submit  Status  PID: 26584
Font Size:  +   -

 

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 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 mosquitos, pupae and 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 MPLERSNseparated by space. Mand are the numbers of mosquitos, pupae, and larvae, respectively, in the first week. You may assume that 0 ≤ M,P,L ≤ 100 000, 0 ≤ ≤ 100, 1 ≤ R, S ≤ 10, and 1 ≤ ≤ 1000. is the number of eggs laid by one mosquito, and specify the survival rates of larvae and pupae, and 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 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
Submit  Status  PID: 26584


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;
}


你可能感兴趣的:(BNU 26584 Mosquito Multiplication【数蚊子】)