- 先将输入分割,转化为int
- 再根据三种方式分别被进行判断
- 判断函数先判断是2000年前还是两千年后
- 在判断是否是闰年,再看每月的日期数字对不对
- 通过日期放到list里,排序,转化为字典去重,再转化为list,顺序输出
代码:
import os
import sys
# 请在此输入您的代码
x, y, z = map(int, input().split('/'))
ans=[]
mon=[0,31,28,31,30,31,30,31,31,30,31,30,31]
def run(x):
if x%4==0 and x%100:return True
if x%100==0 and x%400==0:return True
return False
def check(x,y,z):
if x<60:xx=2000+x
else:xx=1900+x
if run(xx):
mon[2]+=1
if z<=mon[y]:ans.append((xx,y,z))
mon[2]-=1
else:
if z<=mon[y]:ans.append((xx,y,z))
#nyr
if 0<y<=12 and 0<z<=31:check(x,y,z)
#yrn
if 0<x<=12 and 0<y<=31:check(z,x,y)
#ryn
if 0<y<=12 and 0<x<=31:check(z,y,x)
ans.sort()
ans=list(dict.fromkeys(ans))
for x in ans:
print("{:04}-{:02}-{:02}".format(x[0],x[1],x[2]))