Asignación de Horarios (Scheduling) mediante Backtracking

12345
Across
  1. 2. [Función principal] Nombre de la función recursiva encargada de recorrer las horas, decidir, avanzar y hacer el retroceso.
  2. 4. [Estructura global] Arreglo global inicializado con [None] * n donde se guardan las horas asignadas a cada materia.
  3. 5. [Diccionario] Diccionario global en el código que almacena las horas prohibidas para ciertas materias específicas.
Down
  1. 1. [Función auxiliar] Nombre de la función que verifica si una hora 'h' no choca con materias anteriores ni infringe las restricciones.
  2. 3. [Código en Python] Valor especial que se le asigna a HORARIO[i] cuando se realiza un backtrack para indicar que la posición vuelve a estar libre.