#CSPJ2016T2. 2016 T2 回文日期

2016 T2 回文日期

2016 T2 回文日期

主知识点:枚举。交叉标签:枚举、字符串、数学。
暴力标注:不属于重点 DP 退路题。
OJ 使用标准输入与标准输出。原比赛文件名为 date.in / date.out;下方如保留原文件约定,以本句的 OJ 约定为准。
时限 1 秒;内存 512 MiB;测试点 10;总分 100。
数据来源:官网数据;与公开存档逐文件一致。

题目描述

给出两个合法日期,使用八位整数 YYYYMMDD 表示。统计闭区间内所有合法且八位表示为回文的日期。

月份天数为:1、3、5、7、8、10、12 月 31 天;4、6、9、11 月 30 天;2 月平年 28 天、闰年 29 天。年份是 400 的倍数,或者是 4 的倍数但不是 100 的倍数时,为闰年。回文要求从左第 ii 位等于第 9−i9-i 位。

输入格式

两行,每行包括一个 88 位数字。

第一行表示牛牛指定的起始日期。

第二行表示牛牛指定的终止日期。

保证 date1\mathit{date}_1 和 date2\mathit{date}_2 都是真实存在的日期,且年份部分一定为 44 位数字,且首位数字不为 00。

保证 date1\mathit{date}_1 一定不晚于 date2\mathit{date}_2。

输出格式

一个整数,表示在 date1\mathit{date}_1 和 date2\mathit{date}_2 之间,有多少个日期是回文的。

样例

样例 1

输入:

20110101
20111231

输出:

1

样例 2

输入:

20000101
20101231

输出:

2

数据范围与特殊性质

对于 60%60 \% 的数据,满足 date1=date2\mathit{date}_1 = \mathit{date}_2。

附加样例

本题的公开样例整理在对应的“样例”ZIP 中。样例不计入评测测试点;题面中的样例也已保留。

来源与整理说明

题目原作者/发布者:中国计算机学会 CCF / NOI。题意经过改写,保留公式、输入输出、样例及约束;知识点和暴力标注为本次整理补充。