zoukankan      html  css  js  c++  java
  • 日期差值

    题目

    日期类的题目基本都要找一个起点,提前预处理

    代码

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 //判断是否是闰年或平年
     5 int ISYEAP(int x){
     6     if((x %100 != 0 && x%4 == 0) || x % 400 == 0) return 1;
     7     else return 0;
     8 }
     9 //记录每个月的天数,从0,0开始,平年闰年
    10 int dayOfMonth[13][2] = {
    11     0,0,
    12     31,31,
    13     28,29,
    14     31,31,
    15     30,30,
    16     31,31,
    17     30,30,
    18     31,31,
    19     31,31,
    20     30,30,
    21     31,31,
    22     30,30,
    23     31,31
    24 };
    25 //日期类,方便时间的推移
    26 typedef struct Date{
    27     int Day;
    28     int Month;
    29     int Year;
    30     //计算下一天的日期
    31     void nextDay(){
    32         Day++;
    33         if(Day > dayOfMonth[Month][ISYEAP(Year)]){
    34             //进入下一个月
    35             Day = 1;
    36             Month++;
    37             //进入下一年
    38             if(Month > 12){
    39                 Month = 1;
    40                 Year++;
    41             }
    42         }
    43     }
    44 }Date;
    45 int buf[5001][13][32]; //保留预处理的天数,存XX年XX月XX日距离起点(0年1月1日)的天数
    46 int main(){
    47     //初始化日期类0年1月1日——起点
    48     Date tmp;tmp.Year = 0,tmp.Month = 1,tmp.Day = 1;
    49     int cnt = 0;
    50     while(tmp.Year!=5001){
    51         buf[tmp.Year][tmp.Month][tmp.Day] = cnt;
    52         tmp.nextDay();
    53         cnt++;
    54     }
    55     //以上为预处理,统计5000年的每一天距离起点有多少天
    56     int d1,m1,y1;
    57     int d2,m2,y2;
    58     while(scanf("%4d%2d%2d",&y1,&m1,&d1) != EOF){
    59         scanf("%4d%2d%2d",&y2,&m2,&d2);
    60         printf("%d
    ",abs(buf[y1][m1][d1] - buf[y2][m2][d2])+1);
    61     }
    62     return 0;
    63 }
  • 相关阅读:
    weka 文本分类(1)
    python 笔记1
    PAT乙级 1028. 人口普查(20)
    PAT乙级 1027. 打印沙漏(20)
    PAT乙级 1026. 程序运行时间(15)
    Eclipse常用快捷键
    MyBatis源码分析(各组件关系+底层原理
    springmvc异常处理
    Elasticsearch学习(一)————简单命令
    mybatis传入参数类型parameterType详解
  • 原文地址:https://www.cnblogs.com/fresh-coder/p/14466110.html
Copyright © 2011-2022 走看看