zoukankan      html  css  js  c++  java
  • [ACM] hdu 1201 18岁生日

    18岁生日

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 14   Accepted Submission(s) : 6

    Font: Times New Roman | Verdana | Georgia

    Font Size: ← →

    Problem Description

    Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。

    Input

    一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。

    Output

    T行,每行一个数,表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日,就输出-1。

    Sample Input

    1
    1988-03-07
    

    Sample Output

    6574
    

    Author

    Gardon

    Source

    Gardon-DYGG Contest 2 


    解题思路:

    判段有没有18岁生日好判断,只要是出生在2月29日,而十八年后是平年,没有2月29就没有18岁生日。计算18年经过的天数,整体思路为先不考虑瑞年的情况,最少为18*365天,然后再加上经过2月29日(瑞年专属)的天数就可以了。

    代码:

    #include <iostream>
    using namespace std;
    int year,month,day;
    char a,b;
    bool leap(int year)
    {
        if((year%4==0&&year%100!=0)||year%400==0)
            return 1;
        return 0;
    }
    int main()
    {
        int t;cin>>t;
        while(t--)
        {
            int sum=0;
            cin>>year>>a>>month>>b>>day;
            if(month==2&&day==29&&!leap(year+18))//没有18岁生日的情况
                cout<<-1<<endl;
            else
            {
                sum=18*365;
                if(month==1||(month==2&&day<=28))//当出生日期小于等于2月28日时,年份是不是瑞年从本年开始看,因为要过本年的2月29,如果本年是瑞年的话
                {
                    for(int i=0;i<=17;i++)
                        if(leap(year+i))
                    sum++;
                }
                else if(month>=3)//当出生日期大于2月时,年份是不是瑞年从下一年开始看,不用过本年的2月29,看下一年
                {
                    for(int i=1;i<=18;i++)
                    if(leap(year+i))
                    sum++;
                }
                cout<<sum<<endl;
            }
        }
        return 0;
    }
    


  • 相关阅读:
    netty内存泄漏
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    java 容器结构
    c3p0 一个数据库链接的例子
    eclipse java MemoryAnalyzer 查询内存泄漏 环境配置
    Java中数据库连接的一些方法资料汇总
    java io流
    MySQL的几个概念:主键,外键,索引,唯一索引
    mysql 一些常用指令
    mysql only_full_group_by问题
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697972.html
Copyright © 2011-2022 走看看