fork download
  1. from datetime import datetime, timedelta
  2.  
  3. for i in range(int(input())):
  4. # ENTRADA DE DATOS
  5. datos = input().split(',')
  6.  
  7. # VARIABLES AUXILIARES
  8. nombre = datos[0]
  9. asesinatos = int(datos[1])
  10. f = [] # Fechas
  11. serialP = True
  12.  
  13. # PROCESAMIENTO DE DATOS
  14. for j in range(asesinatos):
  15. f.append(input().split('-'))
  16.  
  17. dia_1 = int(f[0][2]) # Fecha de primer asesinato (día)
  18. # Verificamos si siempre ataca en la misma fecha (día)
  19. contador = 0
  20. for fecha in f:
  21. if int(fecha[2]) == dia_1:
  22. contador += 1
  23. if contador == asesinatos:
  24. serialP = False
  25.  
  26. # ¿Qué pasa si ataca los últimos días de febrero y hay un año bisiesto?
  27. # Verificamos si siempre ataca los últimos días de febrero
  28. contador = 0 # Reiniciamos el contador
  29. for fecha in f:
  30. if (fecha[1] == "02") and (fecha[2] == "28" or fecha[2] == "29"):
  31. contador += 1
  32. if contador == asesinatos:
  33. serialP = False
  34.  
  35. # Si no ataca en la misma fecha:
  36. frecuencia = (datetime(int(f[1][0]), int(f[1][1]), int(f[1][2])) - datetime(int(f[0][0]), int(f[0][1]), int(f[0][2]))).days
  37.  
  38. print(serialP)
Success #stdin #stdout 0.02s 9416KB
stdin
6
el comediante, 3
2000-01-01
2000-01-15
2000-01-29
la amante de gatos, 4
1998-12-12
1999-12-12
2000-12-12
2001-12-12
el asesino de la calle 9, 5
2009-09-09
2012-06-04
2015-02-28
2017-11-23
2020-08-18
el estrangulador de la peluca de payazo, 4
2005-07-10
2005-08-10
2005-09-10
2005-10-10
david, 4
2004-02-29
2004-03-29
2004-04-27
2004-05-26
andres, 4
2003-02-28
2004-02-29
2005-02-28
2006-02-28
stdout
True
False
True
False
True
False