首先用我们聪明的大脑认识一下回文
回文:从左到右读和从右到左读一样
例子:奥利奥 123454321 123321
理论是懂了 那么如何在代码当中实现呢
如果想要比较便捷的判断单个回文 推荐使用字符串来判断
但是我们输入的是数字 ,如果用字符串的话后续操作过于麻烦
所以可以请出一个神秘的函数
通过如上代码 可以把X以字符串的形式存在S当中
那么我们又该如何判断他正着读和反着读是否一样呢?
这个时候又要请出另一个神秘的函数
通过如上代码 可以把S翻转后的字符串存在SS当中
那么我们就可以写一个CHECK函数,来判断一个数字是不是回文数
如下↓
那么我们敏锐的眼睛捕捉到题目下方
对于60%的数据 满足DATE1等于DATE2
意思就是说这两个日期表示的是同一个数
那么我们就可以输入DATA1 来调用CHECK 如果返回TRUE输出1,反则输出0
代码以及得分如下:
如果你是要骗分的到这里可以退出了(为啥CSP复赛的题没有这么水的)
那么我们可以以数字形式输入两个日期,并且遍历他们之间的每一个数(实测不会TLE)
然后通过除法和取余强强联手搭配 获得年份,月份,日期的数字
代码如下↓
然后判断日期合不合法 (是人都知道吧)
注意了注意了(敲黑板)
我们还要判断这个年份 月份 日期之间是否合法(即日期在不在月份的范围内)
我们可以弄一个日期数组,下标代表月份 如下↓
2月份默认为28天 后面特判再另外处理
然后判断闰年,详见题目 代码如下 ↓
然后判断日期在不在这个MAXX内就可以了
奉上AC代码
感谢你可以看到这里 ,我是刚来acgo的人 可以关注/点赞我吗?
THE END 完结撒花