X同学最近非常烦,因为他正面对一大堆日期数据愁眉不展,原因是那些日期书写的极其不规范,不仔细辨别根本认不清是哪一天。
以下每个日期中的三个数,年月日的位置是不确定的,假设其中最大的数表示年份,1-12范围的数表示月份,1-31范围的数表示日期,如果月日的范围都是1-12则按前月后日的顺序识别。
例如:
2/3-123 识别为0123年2月3日,合法;
13+12+45 识别为0045年12月13日,合法;
12=3=13 识别为0013年12月3日,合法;
29,2,2019 识别为2019年2月29日,这一天不存在,不合法;
12@12#12 识别为0012年12月12日,合法;
35.36.37 识别为0037年XX月XX日,XX超出月份和日期范围,不合法;
113030 识别为0030年11月30日,合法;
现在X要编程判断一下那些日期到底是否合法,你们说他能编出来吗。