import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 读取输入的日期字符串
String[] input = sc.nextLine().split("/");
// 转换为整数
int a = Integer.parseInt(input[0]);
int b = Integer.parseInt(input[1]);
int c = Integer.parseInt(input[2]);
sc.close();
ArrayList<String> dates = new ArrayList<>(); // 存储所有可能的日期格式
// 遍历1960年到2059年
for(int i=1960; i<2059; i++) {
// 遍历每个月
for(int j=1; j<=12; j++) {
// 遍历每天
for(int k=1; k<=31; k++) {
// 跳过不可能的日期
if(j==4||j==6||j==9||j==11) {
if(k>30) break; // 小月
} else if(j==2) {
if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
if(k > 29) break; // 闰年2月
} else {
if(k > 28) break; // 平年2月
}
}
// 检查当前遍历的日期是否匹配输入的日期格式,把所有符合的日期加入列表
if ((i % 100 == a && j == b && k == c) ||
(j == a && k == b && i % 100 == c) ||
(k == a && j == b && i % 100 == c)) {
String date = String.format("%d-%02d-%02d", i, j, k);
// 避免重复添加日期
if (!dates.contains(date)) {
dates.add(date);
}
}
}
}
}
// 对所有可能的日期进行排序
Collections.sort(dates);
// 打印所有可能的日期
for(String date : dates) {
System.out.println(date);
}
}
}
String.format
是 Java 中用于创建格式化字符串的静态方法。这个方法允许你根据指定的格式字符串和参数来生成一个新的字符串。格式字符串包含了固定文本和格式说明符,格式说明符以 %
字符开始,后面跟着一个或多个字符,用来指定如何格式化参数。