本题是给定一个日期,让你输出它的所有表示方法。
比如2019年12月28号就有下面三种表示方法:
枚举范围:
9600101 ~ 20591231
也就是说从9600101 ~ 20591231里一定有三个日期是满足题目给定样例日期的三个格式的 我们需要从9600101 ~ 20591231里把这三个日期 按照规定的三个日期格式输出即可 关键在于怎么找到这三个日期
判断日期合法性
为了减小查找范围我们需要先把非法日期给pass掉
判断是否为答案日期
然后通过比较值是否相等的方式来判断 是否是这个三个日期
因为所谓的日期实际上就是一个八位数的值 year占四位,month和day分别占两位 所以可以直接比较数字的值来判断两个日期是否为同一日期
时间复杂度
从1960年1月1日开始枚举日期,至2059年12月31日。 一共就100年,每年大约365天,全部枚举出来也就是3650,是个非常小的数据
Tips
这道题涉及到字符串问题。一般涉及到字符问题,都可以用scanf,printf来进行有格式的输入输出。