百练 2712 细菌滋长 解题呈报

    添加时间:2013-6-25 点击量:

    1.链接:http://poj.grids.cn/practice/2712/


    2.题目:


    总时候限制:
    1000ms
    内存限制:
    65536kB
    描述
    一种细菌的滋长速度是天天成倍增长。例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。如今给出第一天的日期和细菌数量,要你写法度求出到某一天的时辰,细菌的数量。
    输入
    第一行有一个整数n,默示测试数据的数量。厥后n行每行有5个整数,整数之间用一个空格隔开。第一个数默示第一天的月份,第二个数默示第一天 的日期,第三个数默示第一天细菌的数量,第四个数默示请求的那一天的月份,第五个数默示请求的那一天的日期。已知第一天和请求的一天在同一年并且该年不是 闰年,请求的一天必然在第一天之后。数据包管请求的一天的细菌数量在长整数(long)局限内。
    输出
    对于每一组测试数据,输出一行,该行包含一个整数,为请求的一天的细菌数。
    样例输入

    2
    
    1 1 1 1 2
    2 28 10 3 2

    样例输出

    2
    
    40


    3.代码



     1 #include <iostream>
    
    2 #include <cstdio>
    3 #include <cstdlib>
    4 #include <cstring>
    5
    6 using namespace std;
    7
    8 int days_of_month[12] = {312831303130313130313031};
    9
    10 int main()
    11 {
    12 int n;
    13 cin>>n;
    14
    15 int month1,month2,day1,day2,day;
    16 long start_num,total_num;
    17 while(n--
    18 {
    19 cin>>month1>>day1>>start_num>>month2>>day2;
    20 day = 0;
    21 while(month1<month2)
    22 {
    23 day += (days_of_month[month1-1] - day1 + 1);
    24 month1++;
    25 day1 = 1;
    26 }
    27 day += (day2 - day1);
    28 total_num = start_num;
    29 while(day--
    30 {
    31 total_num = 2;
    32 }
    33 cout<<total_num<<endl;
    34 }
    35 return 0;
    36 }


    4.思路


    (1)一个数组保存每月的天数,然掉队行操纵

    读书,不要想着实用,更不要有功利心。读书只为了自身的修养。邂逅一本好书如同邂逅一位知己,邂逅一个完美之人。有时心生敬意,有时怦然心动。仿佛你心底埋藏多年的话,作者替你说了出来,你们在时光深处倾心相遇的一瞬间,情投意合,心旷神怡。
    分享到: