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

代码:

出生日期为2/29的人18岁生日不存在,天数计算=出生那年天数+17年每年的天数+18岁那年的天数。先算18年的天数,如果出生那年是闰年并且月份小于等于2,要多加一天。如果成年那年是闰年并且月份小于等于2,要减一天。

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int RN(int y)//判断闰年
{
    if (y%400 == 0 || (y%100 != 0 && y%4 ==0))
        return 1;
    else return 0;
}
int main()
{
    int n, y, m, d, i, ans;
    cin>>n;
    while(n--)
    {
        scanf("%d-%d-%d",&y,&m,&d);
        if(m==2 && d==29)//不存在情况
        {
            cout<<"-1"<<endl;
            continue;
        }
        ans = 0;
        for (i = 1; i <= 18; i++)//18年天数
        {
            if(RN(y+i))
                ans+= 366;
            else ans+= 365;
        }
        if(RN(y) && m<=2)//出生那年
            ans++;
        if (RN(y+18) && m<=2)//成年那年
            ans--;
        cout<<ans<<endl;
    }
    return 0;
}

HDU——18岁生日相关推荐

  1. HDU - 1201 - 18岁生日 - [局部分离思想]

    HDU - 1201 - 18岁生日 https://vjudge.net/problem/HD... 一句话题意:给定出生日期(格式为1988-03-07),求到18岁生日为止经历了多少天:没有18 ...

  2. hdu oj 1201:18岁生日

    题目链接 题意是求每个人18岁生日所经历的天数,一开始没明白如果这个人没有18岁生日,就输出-1,是什么意思,以为是要考虑现在的日子,看他到没到十八. 但后来查了一下了解到意思是如果她的生日是闰年的二 ...

  3. 18岁生日 HDU - 1201

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

  4. 18岁生日 HDU 1201

    18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  5. E - 18岁生日(20)

    添加链接描述 E - 18岁生日(20) HDU - 1201 Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢 ...

  6. HDU1201 18岁生日【日期计算】

    18岁生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. HDU1201 18岁生日【日期计算+水题】

    18岁生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. 计算到达18岁生日所经过的总天数

    Problem Description Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所 ...

  9. hdu1201 18岁生日(java版本)

    每日一看 18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...

最新文章

  1. 【CVPR 2018】腾讯AI lab提出深度人脸识别中的大间隔余弦损失
  2. 半连接队列 全连接队列??
  3. 光流 | 光流交流群
  4. kube-controller-manager 配置参数解读
  5. C++封装、继承、多态
  6. 大话数据结构—栈与队列
  7. 数据库中的表还是一定要建索引
  8. 计数排序和桶排序 java代码实现
  9. ubuntu 16.04 python3.4 升级为 python3.6
  10. BZOJ4573[ZJOI2016] 大森林
  11. 解决WebStorme点击谷歌浏览器图标无反应问题
  12. Detached InstanceError:Instance is not bound to a Session 关闭session后使用SQLAlchemy对象
  13. 异常检测方法——DBSCAN、孤立森林、OneClassSVM、LOF、同比环比、正态分布、箱线图
  14. excel排序求和:如何统计前几名数据合计 下篇
  15. 自定义 VSCode 背景图片
  16. KVM和Xen虚拟化有什么区别?Xen和KVM优缺点对比
  17. linux怎么卸载桌面程序吗,Linux下怎么卸载软件
  18. USART EVEN 串口偶校验
  19. 差点延毕!国科大博士生丢失电脑,4天后毕业论文失而复得!
  20. PowerDesigner 安装

热门文章

  1. 【作业】我们Python老师布置的作业
  2. django 跨域出错 (corsheaders.E013) Origin ‘127.0.0.1:8080‘ in CORS_ORIGIN_WHITELIST is missing scheme or
  3. 获取resources目录下文件路径的九套功法
  4. ipone移动端底部安全区域化适配
  5. Ubuntu systemd 禁止服务自启动
  6. 小白-基于CFD-DEM(Openfoam、PFC、paraview)
  7. 介绍一本ARM编程入门的图书
  8. rz后远程服务器没反应,Mac 链接远程服务使用 rz 服务卡死解决
  9. python实现Bresenham 算法
  10. java计算求1000以内的素数和!