Esta pregunta debería ser un poco difícil, tal vez fui demasiado mala y la escribí durante mucho tiempo.
Título: Tema OJ
(1) Debemos prestar atención a que esto todavía es un poco aburrido. En primer lugar, este año, mes y día, parece que realmente resolvemos el problema. No? ¿Quieres simular manualmente? Un poco de problemas
(2) cuando la salida la salida por orden cronológico, es decir, tenemos que ponerlos en orden de tiempo dispuesto para la salida
(3) y luego nunca conseguiremos la otra me siento este plato de pollo creció más y más compleja simulación de la violencia directa Derecho!
Código:
import java.util.*;
public class P7164日期问题 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a[] = sc.next().split("/");
int b[] = new int[3];
for(int i = 0;i < a.length;i++)
b[i] = Integer.valueOf(a[i]);
TreeSet<yea> set = new TreeSet<yea>();
if(b[0] <= 59){
if(b[1] <= 12 && b[2] <= 31 && b[1] != 0 && b[2] !=0){
yea ans = new yea();
ans.y = b[0]+2000;
ans.m = b[1];
ans.d = b[2];
set.add(ans);
}
}
if(b[2] <= 59){
if(b[0] <= 12 && b[1] <= 31 && b[1] != 0 && b[0] !=0){
yea ans = new yea();
ans.y = b[2]+2000;
ans.m = b[0];
ans.d = b[1];
set.add(ans);
}
if(b[0] <= 31 && b[1] <= 12 && b[1] != 0 && b[0] !=0){
yea ans = new yea();
ans.y = b[2]+2000;
ans.m = b[1];
ans.d = b[0];
set.add(ans);
}
}
if(b[0] >= 60){
if(b[1] <= 12 && b[2] <= 31 && b[1] != 0 && b[2] !=0){
yea ans = new yea();
ans.y = b[0]+1900;
ans.m = b[1];
ans.d = b[2];
set.add(ans);
}
}
if(b[2] >= 60){
if(b[0] <= 12 && b[1] <= 31&& b[1] != 0 && b[0] !=0){
yea ans = new yea();
ans.y = b[2]+1900;
ans.m = b[0];
ans.d = b[1];
set.add(ans);
}
if(b[1] <= 12 && b[0] <= 31&& b[1] != 0 && b[0] !=0){
yea ans = new yea();
ans.y = b[2]+1900;
ans.m = b[1];
ans.d = b[0];
set.add(ans);
}
}
for(yea t:set)
System.out.printf("%d-%02d-%02d\n",t.y,t.m,t.d);
sc.close();
}
}
class yea implements Comparable{
int y;
int m;
int d;
public int compareTo(Object b){
yea a = (yea)b;
if(this.y > a.y)
return 1;
else if(this.y == a.y){
if(this.m > a.m)
return 1;
else if(this.m == a.m){
if(this.d > a.d)
return 1;
else return -1;
}
else
return -1;
}
else return -1;
}
}