zoukankan      html  css  js  c++  java
  • hdu-1201 18岁生日

    题目链接:

    http://acm.hdu.edu.cn/showproblem.php?pid=1201

    题目类型:

    模拟计算

    题意概括:

    计算一个人从出生到18岁生日经过了多少天

    解题思路:

    纯模拟过程

    题目:

    18岁生日

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 32779    Accepted Submission(s): 10615


    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
    # include <stdio.h>
    int djt(int y,int m,int d);
    int runnian(int y);
    int main()
    {
        int t,y,m,d,i;
        long long x;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d-%d-%d",&y,&m,&d);
            if(runnian(y)==1&&m==2&&d==29)
            x=-1;
            else
            {
                x=djt(18+y,m,d);
                for(i=y+1;i<18+y;i++)
                x+=365+runnian(i);
                x+=365+runnian(y)-djt(y,m,d);
            }
            printf("%lld
    ",x);
        }
        return 0;
     } 
     int runnian(int y)/*判断闰年*/
     {
         if((y%400==0)||(y%4==0&&y%100!=0))
         return 1;
         else
         return 0;
     }
     int djt(int y,int m,int d)/*判断这是第几天*/
     {
         int x;
         x=d;
         switch(m)
         {
            case 12:x+=30;
            case 11:x+=31;
            case 10:x+=30;
            case 9:x+=31;
            case 8:x+=31;
            case 7:x+=30;
            case 6:x+=31;
            case 5:x+=30;
            case 4:x+=31;
            case 3:x+=28+runnian(y);
            case 2:x+=31;
         }
         return x;
     }
  • 相关阅读:
    FFmpeg编程(二)FFmpeg中级开发
    Oracle锁表与解锁 对象锁与解锁
    index_combine and index_john
    oracle hint
    SAR
    组播IP地址
    Linux下使用tc(Traffic Control) 流量控制命令模拟网络延迟和丢包
    Linux服务器丢包故障的解决
    linux man page sections
    微服务架构统一安全认证设计与实践
  • 原文地址:https://www.cnblogs.com/love-sherry/p/6942251.html
Copyright © 2011-2022 走看看