日期问题 计算两个日期相距多少天
来源:互联网 发布:淘宝怎么创建子账号 编辑:程序博客网 时间:2024/05/23 23:47
#include <iostream>#include <vector>#include <stdio.h>#include <algorithm>#include <iomanip>#include <string>#include <cstdio>#include <string.h>#include <set>#include <cmath>#include <map>using namespace std;/* 把原区间问题同意到起点确定的区间问题上去 我们不妨把问题统一到特定日期与一个原点时间(如0000年1月1日)的天数差 把问题统一到特定日期之间的天数差时,我们只需要将他们与原点日期的天数差相减, 便能得到这两个特定日期之间的天数差(必要时加绝对值)*/#define ISYEAP(x) x % 100 != 0 && x % 4 == 0 || x % 400 == 0 ? 1 : 0int MonthDay[13][2] = { 0,0, 31,31, 28,29, 31,31, 30,30, 31,31, 30,30, 31,31, 31,31, 30,30, 31,31, 30,30, 31,31 };struct Date{ int Day; int Month; int Year; void nextDay(){ Day++; if(Day > MonthDay[Month][ISYEAP(Year)]){ Day = 1; Month++; if(Month > 12){ Month = 1; Year ++; } } }};int buf[5001][13][32]; // 保存预处理的天数int Abs(int x) { return x < 0 ? -x : x;}int main(){freopen("in.txt", "r", stdin);//freopen("out.txt", "w", stdout);Date tmp; int cnt = 0; tmp.Day = 1; tmp.Month = 1; tmp.Year = 0; while(tmp.Year != 5001){ buf[tmp.Year][tmp.Month][tmp.Day] = cnt; tmp.nextDay(); cnt++; } int year1, month1, day1; int year2, month2, day2; scanf("%4d%2d%2d", &year1, &month1, &day1); scanf("%4d%2d%2d", &year2, &month2, &day2); cout << Abs(buf[year1][month1][day1] - buf[year2][month2][day2] )+ 1; //cout << ans << endl; return 0;}
0 0
- 日期问题 计算两个日期相距多少天
- java计算两个日期相差多少天
- 计算两个日期相差多少天!
- 计算两个日期相隔多少年,多少月,多少天
- 计算两个时间相距离多少
- mysql 求两个日期相距的大小
- excel中计算两个日期之间的相差多少天
- Java 计算两个日期直接相差多少天
- php计算两个日期相差多少天(日)…
- 如何用java计算两个日期之间间隔多少天
- java计算两个日期相差多少天小时分钟等
- Java中计算两个日期间隔多少天
- java计算两个日期之间有多少天
- 使用LocalDate计算两个日期相差多少天
- java中计算两个日期之间相差多少天
- 用php计算两个日期相差多少
- 计算两个日期之间相差多少天,计算当前日期是星期几
- 设计一个程序输入两个日期计算相隔多少天,或计算一个日期加上间隔后的日期。
- 单台服务器部署多个节点
- 常用socket函数详解
- CardView 设置水波纹效果
- 选择排序_Java
- jQuery基础篇(四)动画
- 日期问题 计算两个日期相距多少天
- Android属性动画完全解析(上),初识属性动画的基本用法
- JavaScript 复制对象
- Oracle 11g OEM(企业管理器)安装手册
- 638
- office2016永久免费激活码(office2016密钥)
- Android 倒计时CountDownTimer使用
- 【Java】Swing 图形界面实现验证码(验证码可动态刷新)
- 解决Android 5.0以上版本Button自带阴影效果的方法