#B. NOIPJ2016B 回文日期

    传统题 1000ms 256MiB

NOIPJ2016B 回文日期

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

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

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

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

【提示】

一个8{8}位数字是回文的,当且仅当对于所有的i(1<i<8){i(1<i<8)}从左向右数的第i{i}个数字和第9i{9一i}个数字(即从右向左数的第i{i}个数字)是相同的。

例如:

·对于2016{2016}11{11}19{19}日,用8{8}位数字20161119{20161119}表示,它不是回文的。

·对于2010{2010}1{1}2{2}日,用8{8}位数字20100102{20100102}表示,它是回文的。

·对于2010{2010}10{10}2{2}日,用8{8}位数字20101002{20101002}表示,它不是回文的。

每一年中都有12{12}个月份:

其中,1,3,5,7,8,10,12{1,3,5,7,8,10,12}月每个月有31{31}天;4,6,9,11{4,6,9,11}月每个月有30{30}天;而对于2{2}月,闰年时有29{29}天,平年时有28{28}天。

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

1.这个年份是4{4}的整数倍,但不是100{100}的整数倍;

2.这个年份是400{400}的整数倍。

例如:

·以下几个年份都是闰年:2000,2012,2016{2000 ,2012 ,2016}

·以下几个年份是平年:1900,2011,2014{1900,2011,2014}

输入格式

输入包括两行,每行包括一个8{8}位数字。

第一行表示牛牛指定的起始日期date1{date1}

第二行表示牛牛指定的终止日期date2{date2}

保证date1{date1}date2{date2}都是真实存在的日期,且年份部分一定为4{4}位数字,且首位数字不为0{0}

保证date1{date1}一定不晚于date2{date2}

输出格式

输出一行,包含一个整数,表示在date1{date1}date2{date2}之间,有多少个日期是回文的。

样例

输入样例1

20110101
20111231

输出样例

1

样例输入2

20000101
20101231

样例输出2

2

提示

对于样例1{1},符合条件的日期是20111102{20111102}

对于样例2{2},符合条件的日期是20011002{20011002}20100102{20100102}

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

CSP-J 冲刺练习1

未认领
状态
已结束
题目
4
开始时间
2023-9-18 0:00
截止时间
2023-9-30 23:59
可延期
24 小时