acwing 蓝桥杯 模拟 1229. 日期问题

142 阅读1分钟

1229. 日期问题 - AcWing题库

本题是给定一个日期,让你输出它的所有表示方法。

比如2019年12月28号就有下面三种表示方法:

image.png

枚举范围:

9600101 ~ 20591231

也就是说从9600101 ~ 20591231里一定有三个日期是满足题目给定样例日期的三个格式的 我们需要从9600101 ~ 20591231里把这三个日期 按照规定的三个日期格式输出即可 关键在于怎么找到这三个日期

判断日期合法性

为了减小查找范围我们需要先把非法日期给pass掉

判断是否为答案日期

然后通过比较值是否相等的方式来判断 是否是这个三个日期

因为所谓的日期实际上就是一个八位数的值 year占四位,month和day分别占两位 所以可以直接比较数字的值来判断两个日期是否为同一日期

时间复杂度

从1960年1月1日开始枚举日期,至2059年12月31日。 一共就100年,每年大约365天,全部枚举出来也就是3650,是个非常小的数据

Tips

这道题涉及到字符串问题。一般涉及到字符问题,都可以用scanf,printf来进行有格式的输入输出。

code

image.png

二刷

代码托管:AcWing 1229. 日期问题 - AcWing