Una universidad está planeando su horario. La universidad cuenta con la hora de inicio y fin de todas las clases del día, y necesita saber cuál es el mínimo número de salones necesarios para dictarlas.
En un salón de clase sólo puede dictarse una clase a la vez. Sin embargo, está permitido que una nueva clase comience justo en el mismo instante que la clase anterior termina.
Por ejemplo, supongamos que ésta es la lista de horas y clases que la universidad necesita dictar en el día:
Es posible acomodar estas clases en sólo dos salones de clases, de la siguiente manera:
Salón #1:
Salón #2:
Por otra parte, en este caso es imposible usar un solo salón para dictar todas las clases, porque Estructuras de datos y algoritmos y Sistemas operativos estarían en conflicto. Por lo tanto, dos es el mínimo de salones necesarios.
Escribe un programa que dada la lista de clases, calcula el mínimo número de salones necesarios para acomodar todas las clases sin conflictos.
La entrada contiene varias líneas:
N
, el número de clases en el día.N
líneas, cada una con una clase. Cada clase está descrita por su hora de inicio y fin en formato HH:MM
, separados por un espacio. Está garantizado que la hora de inicio es estrictamente menor a la hora de fin (en otras palabras, todas las clases empiezan antes de que terminen y duran por lo menos un minuto).La salida debe tener una única línea con el mínimo número de salones necesarios para dictar las clases.
6
10:00 12:00
15:00 18:00
11:00 12:30
12:30 13:30
13:30 14:30
15:30 19:00
2
Este es el ejemplo explicado en el enunciado del problema.
2
10:00 12:00
10:00 12:00
2
Es posible que haya dos clases con exactamente el mismo horario. En este caso necesitamos ponerlas en dos salones separados.
2
10:00 12:00
12:00 13:00
1
Podemos acomodar ambas clases en el mismo salón, una después de otra.
2
10:00 12:30
12:00 13:00
2
En este caso nos vemos forzados a usar dos salones porque hay un conflicto de 12:00 a 12:30.
2
10:00 12:01
12:00 13:00
2
En este caso el conflicto es de sólo un minuto pero el profesor de la primera clase se niega a terminar un minuto más temprano, entonces nos vemos forzados a usar dos salones.
5
08:00 19:00
09:00 15:00
10:30 22:45
12:00 12:30
12:15 23:00
5
Todas las clases están en conflicto con todas las demás, entonces necesitamos ponerlas todas en salones separados.
5
00:00 23:59
00:00 23:59
08:00 09:00
09:00 10:00
10:00 11:00
3
Usamos un salón para cada uno de las clases que duran todo el día y un salón para las otras tres clases restantes.
1 ≤ N ≤ 100,000
.