Malla de cursos
Hay \(n\) cursos numerados de \(0\) a \(n-1\) y \(m\) requisitos. Un requisito \((a, b)\) significa que para tomar el curso \(a\) primero hay que aprobar el curso \(b\). ¿Se pueden aprobar todos los cursos?
Entrada
La primera línea tiene \(n\) \((1 \le n \le 10^5)\) y \(m\) \((0 \le m \le 2 \cdot 10^5)\). Siguen \(m\) líneas con un requisito \(a\) \(b\) cada una \((0 \le a, b < n,\ a \ne b)\); no hay requisitos repetidos.
Salida
true si se pueden aprobar todos los cursos o false si no.
Nota
Puede haber cadenas de \(10^5\) requisitos: cuidado con la profundidad de la recursión.
Ejemplo 1
Entrada
2 1
1 0
Salida
true
Ejemplo 2
Entrada
2 2
1 0
0 1
Salida
false
Basado en el problema 207 de LeetCode, Course Schedule, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.
Comentarios