H. NOIP201602回文日期

    Type: Default 1000ms 256MiB

NOIP201602回文日期

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Description

在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。

牛牛习惯用88位数字表示一个日期,其中,前44位代表年份,接下来22位代表月 份,最后22位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表 示方法不会相同。

牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现 在,牛牛想知道:在他指定的两个日期之间包含这两个日期本身),有多少个真实存 在的日期是回文的。

一个88位数字是回文的,当且仅当对于所有的i(1i8)i ( 1 \le i \le 8)从左向右数的第i个 数字和第9i9-i个数字(即从右向左数的第ii个数字)是相同的。

例如:

•对于2016年11月19日,用88位数字2016111920161119表示,它不是回文的。

•对于2010年1月2日,用88位数字2010010220100102表示,它是回文的。

•对于2010年10月2日,用88位数字2010100220101002表示,它不是回文的。

每一年中都有1212个月份:

其中,1,3,5,7,8,10,121,3,5,7,8,10,12月每个月有3131天;4,6,9,114,6,9,11月每个月有3030天;而对于22月,闰年时有2929天,平年时有2828天。

一个年份是闰年当且仅当它满足下列两种情况其中的一种:

1.这个年份是44的整数倍,但不是100100的整数倍;

2.这个年份是400400的整数倍。

例如:

•以下几个年份都是闰年:2000,2012,20162000,2012,2016

•以下几个年份是平年:1900,2011,20141900,2011,2014

Input Format

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

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

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

保证date_i date\_i 和都是真实存在的日期,且年份部分一定为44位数字,且首位数字不为00

保证date1 date 1 —定不晚于date2 date 2

Output Format

一个整数,表示在date1date1date2date2之间,有多少个日期是回文的。

20110101
20111231
1

Hint

提示

【样例说明】

对于样例1,符合条件的日期是2011110220111102

对于样例2,符合条件的日期是20011002200110022010010220100102

【子任务】

对于60%60\%的数据,满足date1=date2date1 = date2

蓝桥杯训练计划-日期处理

Not Attended
Status
Done
Rule
XCPC
Problem
8
Start at
2024-1-9 13:45
End at
2024-1-17 21:45
Duration
200 hour(s)
Host
Partic.
11