忙了一个小时,害,难搞
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
public class Main {
public static int Months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
public static HashSet<String> list = new HashSet<>();
public static boolean is_year(int year, int month, int day) {
if(year < 1960 || year > 2059 ) return false;
if(month <= 0 || month > 12) return false;
int flag = 0;
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
flag = 1;
}
if(day == 0) return false;
if(month != 2) {
if(day > Months[month]) return false;
}
if(month == 2) {
if(day > Months[month] + flag) return false;
}
return true;
}
public static void ymd(String year, String month, String day) {
panduan(year, month, day);
}
public static void mdy(String month, String day, String year) {
panduan(year, month, day);
}
public static void dmy(String day, String month, String year) {
panduan(year, month, day);
}
public static void panduan(String year, String month, String day) {
StringBuffer s1 = new StringBuffer("19" + year + "");
StringBuffer s2 = new StringBuffer("20" + year + "");
// System.out.println(s1);
// System.out.println(s2);
int year1 = Integer.parseInt(s1.toString());
int year2 = Integer.parseInt(s2.toString());
int Month = Integer.parseInt(month);
int Day = Integer.parseInt(day);
if(is_year(year1, Month, Day))
{
list.add(year1 + "-" + month + "-" +day);
}
if(is_year(year2, Month, Day)) {
list.add(year2 + "-" + month + "-" + day);
}
}
public static void init(String year, String month, String day) {
ymd(year, month, day);
mdy(year, month, day);
dmy(year, month, day);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
String[] ss = s.split("/");
String year = ss[0];
String month = ss[1];
String day = ss[2];
init(year, month, day);
List<String> ans = new ArrayList<>(list);
Collections.sort(ans);
for(String ssss : ans)
System.out.println(ssss);
sc.close();
}
}